Initial Commit
This commit is contained in:
34
Sources/dewPoint-controller/main.swift
Normal file
34
Sources/dewPoint-controller/main.swift
Normal file
@@ -0,0 +1,34 @@
|
||||
import Bootstrap
|
||||
import Logging
|
||||
import Models
|
||||
import MQTTNIO
|
||||
import NIO
|
||||
import RelayClient
|
||||
import Foundation
|
||||
|
||||
var logger = Logger(label: "dewPoint-logger")
|
||||
logger.logLevel = .debug
|
||||
logger.debug("Swift Dew Point Controller!")
|
||||
|
||||
let eventLoopGroup = MultiThreadedEventLoopGroup(numberOfThreads: 1)
|
||||
let environment = try bootstrap(eventLoopGroup: eventLoopGroup, logger: logger).wait()
|
||||
let relayClient = environment.relayClient
|
||||
let relay = Relay(topic: "frankensystem/relays/switch/relay_1/command")
|
||||
let tempSensor = TemperatureSensor(topic: "frankensystem/relays/sensor/temperature_-_1/state")
|
||||
|
||||
defer {
|
||||
logger.debug("Disconnecting")
|
||||
_ = try? environment.mqttClient.disconnect().wait()
|
||||
try? environment.mqttClient.syncShutdownGracefully()
|
||||
}
|
||||
|
||||
while true {
|
||||
logger.debug("Toggling relay.")
|
||||
_ = try relayClient.toggle(relay).wait()
|
||||
|
||||
logger.debug("Reading temperature sensor.")
|
||||
let temp = try environment.temperatureSensorClient.state(tempSensor, .imperial).wait()
|
||||
logger.debug("Temperature: \(temp)")
|
||||
|
||||
Thread.sleep(forTimeInterval: 5)
|
||||
}
|
||||
Reference in New Issue
Block a user