Fixed typo that was causing dew point errors.
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user