fix lamp alarm dow and update mqttClient library
This commit is contained in:
parent
111e998d89
commit
9b204ecfea
4
Cargo.lock
generated
4
Cargo.lock
generated
@ -280,8 +280,8 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "mqtt-client"
|
name = "mqtt-client"
|
||||||
version = "1.0.0"
|
version = "2.0.1"
|
||||||
source = "git+https://gitea.finnvanreenen.nl/LailaTheElf/mqttClient.git?tag=v1.0.0#f0b34311457b26a0a3b3a7027845b407a3ca47ee"
|
source = "git+https://gitea.finnvanreenen.nl/LailaTheElf/mqttClient.git?tag=v2.0.1#e7a46b82a51556ef177c0bf1cb914c4385aefcb9"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"crossbeam",
|
"crossbeam",
|
||||||
"rumqttc",
|
"rumqttc",
|
||||||
|
|||||||
@ -9,4 +9,4 @@ json = "0.12.4"
|
|||||||
rumqttc = "0.24.0"
|
rumqttc = "0.24.0"
|
||||||
serde = { version = "1.0.217", features = ["derive"] }
|
serde = { version = "1.0.217", features = ["derive"] }
|
||||||
serde_yaml = "0.9.34"
|
serde_yaml = "0.9.34"
|
||||||
mqtt-client = { tag = "v1.0.0", git = "https://gitea.finnvanreenen.nl/LailaTheElf/mqttClient.git" }
|
mqtt-client = { tag = "v2.0.1", git = "https://gitea.finnvanreenen.nl/LailaTheElf/mqttClient.git" }
|
||||||
|
|||||||
17
src/main.rs
17
src/main.rs
@ -1,6 +1,6 @@
|
|||||||
use std::fs;
|
use std::fs;
|
||||||
|
|
||||||
use crossbeam::channel::Sender;
|
use mqtt_client::{MqttMessage, Sender, Receiver};
|
||||||
use serde::Deserialize;
|
use serde::Deserialize;
|
||||||
|
|
||||||
use mqtt_client::mqtt_client;
|
use mqtt_client::mqtt_client;
|
||||||
@ -107,7 +107,9 @@ impl Automation {
|
|||||||
}
|
}
|
||||||
self.tx({ mqtt_client::MqttMessage {
|
self.tx({ mqtt_client::MqttMessage {
|
||||||
topic: String::from("/cool/devices/lamp-01/set"),
|
topic: String::from("/cool/devices/lamp-01/set"),
|
||||||
payload: payload
|
payload: payload,
|
||||||
|
retain: false,
|
||||||
|
qos: mqtt_client::QoS::AtMostOnce,
|
||||||
}});
|
}});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -133,11 +135,16 @@ impl mqtt_client::MqttTool for Automation {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn rx(&mut self, message: mqtt_client::MqttMessage) {
|
fn run(&mut self, rx: Receiver<MqttMessage>) {
|
||||||
|
|
||||||
|
let message = rx.recv();
|
||||||
|
match message {
|
||||||
|
Err(e) => println!("ERROR: publisher: failed to receve an message ({})", e),
|
||||||
|
Ok(message) => {
|
||||||
println!("INFO : mqtt_automation: {}: {}", message.topic, message.payload);
|
println!("INFO : mqtt_automation: {}: {}", message.topic, message.payload);
|
||||||
if message.topic.eq("clock/time/hour") {
|
if message.topic.eq("clock/time/hour") {
|
||||||
|
|
||||||
if message.payload.eq("7") && (self.clock_dow >= 1 && self.clock_dow <= 7) {
|
if message.payload.eq("7") && (self.clock_dow < 5) {
|
||||||
self.lamp01_set(true);
|
self.lamp01_set(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -162,6 +169,8 @@ impl mqtt_client::MqttTool for Automation {
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user