feat: Updates to newer psychrometrics package. Not yet a working example.
This commit is contained in:
@@ -1,74 +1,74 @@
|
||||
import Bootstrap
|
||||
import ClientLive
|
||||
import CoreUnitTypes
|
||||
import Logging
|
||||
import Models
|
||||
import MQTTNIO
|
||||
import NIO
|
||||
import TopicsLive
|
||||
import Foundation
|
||||
|
||||
var logger: Logger = {
|
||||
var logger = Logger(label: "dewPoint-logger")
|
||||
logger.logLevel = .debug
|
||||
return logger
|
||||
}()
|
||||
|
||||
logger.info("Starting Swift Dew Point Controller!")
|
||||
|
||||
let eventLoopGroup = MultiThreadedEventLoopGroup(numberOfThreads: 1)
|
||||
var environment = try bootstrap(eventLoopGroup: eventLoopGroup, logger: logger, autoConnect: false).wait()
|
||||
|
||||
// Set the log level to info only in production mode.
|
||||
if environment.envVars.appEnv == .production {
|
||||
logger.debug("Updating logging level to info.")
|
||||
logger.logLevel = .info
|
||||
}
|
||||
|
||||
// Set up the client, topics and state.
|
||||
environment.topics = .live
|
||||
let state = State()
|
||||
let client = Client.live(client: environment.mqttClient, state: state, topics: environment.topics)
|
||||
|
||||
defer {
|
||||
logger.debug("Disconnecting")
|
||||
}
|
||||
|
||||
// Add topic listeners.
|
||||
client.addListeners()
|
||||
|
||||
while true {
|
||||
if !environment.mqttClient.isActive() {
|
||||
logger.trace("Connecting to MQTT broker...")
|
||||
try client.connect().wait()
|
||||
try client.subscribe().wait()
|
||||
Thread.sleep(forTimeInterval: 1)
|
||||
}
|
||||
|
||||
// Check if sensors need processed.
|
||||
if state.sensors.needsProcessed {
|
||||
logger.debug("Sensor state has changed...")
|
||||
if state.sensors.mixedAirSensor.needsProcessed {
|
||||
logger.trace("Publishing mixed air sensor.")
|
||||
try client.publishSensor(.mixed(state.sensors.mixedAirSensor)).wait()
|
||||
}
|
||||
if state.sensors.postCoilSensor.needsProcessed {
|
||||
logger.trace("Publishing post coil sensor.")
|
||||
try client.publishSensor(.postCoil(state.sensors.postCoilSensor)).wait()
|
||||
}
|
||||
if state.sensors.returnAirSensor.needsProcessed {
|
||||
logger.trace("Publishing return air sensor.")
|
||||
try client.publishSensor(.return(state.sensors.returnAirSensor)).wait()
|
||||
}
|
||||
if state.sensors.supplyAirSensor.needsProcessed {
|
||||
logger.trace("Publishing supply air sensor.")
|
||||
try client.publishSensor(.supply(state.sensors.supplyAirSensor)).wait()
|
||||
}
|
||||
}
|
||||
|
||||
// logger.debug("Fetching dew point...")
|
||||
// import Bootstrap
|
||||
// import ClientLive
|
||||
// import CoreUnitTypes
|
||||
// import Logging
|
||||
// import Models
|
||||
// import MQTTNIO
|
||||
// import NIO
|
||||
// import TopicsLive
|
||||
// import Foundation
|
||||
//
|
||||
// logger.debug("Published dew point...")
|
||||
|
||||
Thread.sleep(forTimeInterval: 5)
|
||||
}
|
||||
// var logger: Logger = {
|
||||
// var logger = Logger(label: "dewPoint-logger")
|
||||
// logger.logLevel = .debug
|
||||
// return logger
|
||||
// }()
|
||||
//
|
||||
// logger.info("Starting Swift Dew Point Controller!")
|
||||
//
|
||||
// let eventLoopGroup = MultiThreadedEventLoopGroup(numberOfThreads: 1)
|
||||
// var environment = try bootstrap(eventLoopGroup: eventLoopGroup, logger: logger, autoConnect: false).wait()
|
||||
//
|
||||
// // Set the log level to info only in production mode.
|
||||
// if environment.envVars.appEnv == .production {
|
||||
// logger.debug("Updating logging level to info.")
|
||||
// logger.logLevel = .info
|
||||
// }
|
||||
//
|
||||
// // Set up the client, topics and state.
|
||||
// environment.topics = .live
|
||||
// let state = State()
|
||||
// let client = Client.live(client: environment.mqttClient, state: state, topics: environment.topics)
|
||||
//
|
||||
// defer {
|
||||
// logger.debug("Disconnecting")
|
||||
// }
|
||||
//
|
||||
// // Add topic listeners.
|
||||
// client.addListeners()
|
||||
//
|
||||
// while true {
|
||||
// if !environment.mqttClient.isActive() {
|
||||
// logger.trace("Connecting to MQTT broker...")
|
||||
// try client.connect().wait()
|
||||
// try client.subscribe().wait()
|
||||
// Thread.sleep(forTimeInterval: 1)
|
||||
// }
|
||||
//
|
||||
// // Check if sensors need processed.
|
||||
// if state.sensors.needsProcessed {
|
||||
// logger.debug("Sensor state has changed...")
|
||||
// if state.sensors.mixedAirSensor.needsProcessed {
|
||||
// logger.trace("Publishing mixed air sensor.")
|
||||
// try client.publishSensor(.mixed(state.sensors.mixedAirSensor)).wait()
|
||||
// }
|
||||
// if state.sensors.postCoilSensor.needsProcessed {
|
||||
// logger.trace("Publishing post coil sensor.")
|
||||
// try client.publishSensor(.postCoil(state.sensors.postCoilSensor)).wait()
|
||||
// }
|
||||
// if state.sensors.returnAirSensor.needsProcessed {
|
||||
// logger.trace("Publishing return air sensor.")
|
||||
// try client.publishSensor(.return(state.sensors.returnAirSensor)).wait()
|
||||
// }
|
||||
// if state.sensors.supplyAirSensor.needsProcessed {
|
||||
// logger.trace("Publishing supply air sensor.")
|
||||
// try client.publishSensor(.supply(state.sensors.supplyAirSensor)).wait()
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// // logger.debug("Fetching dew point...")
|
||||
// //
|
||||
// // logger.debug("Published dew point...")
|
||||
//
|
||||
// Thread.sleep(forTimeInterval: 5)
|
||||
// }
|
||||
|
||||
Reference in New Issue
Block a user