Fixed typo that was causing dew point errors.

This commit is contained in:
2021-10-17 18:37:06 -04:00
parent d8734913e0
commit 7a4c08da6e
3 changed files with 22 additions and 6 deletions

View File

@@ -1,4 +1,5 @@
import CoreUnitTypes
import Logging
import Models
import MQTTNIO
import NIO
@@ -55,7 +56,7 @@ extension MQTTNIO.MQTTClient {
let subscription = MQTTSubscribeInfoV5.init(
topicFilter: sensor.topic,
qos: .atLeastOnce,
retainAsPublished: true,
retainAsPublished: false,
retainHandling: .sendAlways
)
return v5.subscribe(to: [subscription])
@@ -137,3 +138,13 @@ extension EventLoopFuture where Value == Temperature {
}
}
}
extension EventLoopFuture {
func debug(logger: Logger?) -> EventLoopFuture<Value> {
map { value in
logger?.debug("Value: \(value)")
return value
}
}
}

View File

@@ -15,10 +15,13 @@ extension Client.MQTTClient {
.init(
fetchHumidity: { sensor in
client.fetch(sensor: sensor)
.debug(logger: client.logger)
},
fetchTemperature: { sensor, units in
client.fetch(sensor: sensor)
.debug(logger: client.logger)
.convertIfNeeded(to: units)
.debug(logger: client.logger)
},
setRelay: { relay, state in
client.set(relay: relay, to: state)

View File

@@ -8,7 +8,7 @@ import Foundation
var logger: Logger = {
var logger = Logger(label: "dewPoint-logger")
logger.logLevel = .info
logger.logLevel = .debug
return logger
}()
@@ -32,22 +32,24 @@ defer {
}
while true {
// let temp = try environment.mqttClient.fetchTemperature(tempSensor, .imperial).wait()
// logger.debug("Temp: \(temp.rawValue)")
logger.debug("Fetching dew point...")
let dp = try environment.mqttClient.currentDewPoint(
temperature: tempSensor,
humidity: humiditySensor,
units: .imperial
).wait()
logger.info("Dew Point: \(dp.rawValue) \(dp.units.symbol)")
try environment.mqttClient.publish(
dewPoint: dp,
to: environment.topics.sensors.dewPoint
).wait()
logger.debug("Published dew point...")
Thread.sleep(forTimeInterval: 5)