2 Commits

Author SHA1 Message Date
e44c1c24c5 feat: Update ci workflow to only work on pushes to main branch and pull requests.
All checks were successful
CI / Run Tests (pull_request) Successful in 4m18s
CI / Run Tests (push) Successful in 4m17s
Create and publish a Docker image / build-and-push-image (push) Successful in 8m4s
2024-11-20 15:10:23 -05:00
df05898a65 fix: Fixes dewpoint and enthalpy not converting to imperial units.
Some checks failed
CI / Run Tests (push) Has been cancelled
2024-11-20 15:07:33 -05:00
3 changed files with 8 additions and 4 deletions

View File

@@ -2,6 +2,7 @@
name: CI
on:
push:
branches: ["main"]
pull_request:
jobs:

View File

@@ -60,7 +60,10 @@ public struct TemperatureAndHumiditySensor: Identifiable, Sendable {
!temperature.value.isNaN,
!humidity.value.isNaN
else { return nil }
return try? await psychrometrics.dewPoint(.dryBulb(temperature, relativeHumidity: humidity))
return try? await psychrometrics.dewPoint(.dryBulb(
.fahrenheit(temperature.fahrenheit),
relativeHumidity: humidity
))
}
}
@@ -73,7 +76,7 @@ public struct TemperatureAndHumiditySensor: Identifiable, Sendable {
!humidity.value.isNaN
else { return nil }
return try? await psychrometrics.enthalpy.moistAir(
.dryBulb(temperature, relativeHumidity: humidity, altitude: altitude)
.dryBulb(.fahrenheit(temperature.fahrenheit), relativeHumidity: humidity, altitude: altitude, units: .imperial)
)
}
}

View File

@@ -135,7 +135,7 @@ public actor SensorsService: Service {
private func publishUpdates() async throws {
for sensor in sensors.filter(\.needsProcessed) {
try await publish(sensor.dewPoint?.value, to: sensor.topics.dewPoint)
try await publish(sensor.dewPoint?.fahrenheit, to: sensor.topics.dewPoint)
try await publish(sensor.enthalpy?.value, to: sensor.topics.enthalpy)
try sensors.hasProcessed(sensor)
}
@@ -207,6 +207,6 @@ extension Humidity<Relative>: BufferInitalizable {
extension Temperature<DryAir>: BufferInitalizable {
init?(buffer: ByteBuffer) {
guard let value = Double(buffer: buffer) else { return nil }
self.init(value)
self.init(value, units: .celsius)
}
}