From 7a4c08da6e2b32c68dec4ffebb7675873e2faf3c Mon Sep 17 00:00:00 2001 From: Michael Housh Date: Sun, 17 Oct 2021 18:37:06 -0400 Subject: [PATCH] Fixed typo that was causing dew point errors. --- Sources/ClientLive/Helpers.swift | 13 ++++++++++++- Sources/ClientLive/Live.swift | 3 +++ Sources/dewPoint-controller/main.swift | 12 +++++++----- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/Sources/ClientLive/Helpers.swift b/Sources/ClientLive/Helpers.swift index 56dc09d..f3dcba7 100644 --- a/Sources/ClientLive/Helpers.swift +++ b/Sources/ClientLive/Helpers.swift @@ -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 { + map { value in + logger?.debug("Value: \(value)") + return value + } + } +} diff --git a/Sources/ClientLive/Live.swift b/Sources/ClientLive/Live.swift index 1e58178..e5abec6 100644 --- a/Sources/ClientLive/Live.swift +++ b/Sources/ClientLive/Live.swift @@ -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) diff --git a/Sources/dewPoint-controller/main.swift b/Sources/dewPoint-controller/main.swift index a25d35c..3b4bf56 100644 --- a/Sources/dewPoint-controller/main.swift +++ b/Sources/dewPoint-controller/main.swift @@ -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)