New iobroker

This commit is contained in:
2021-12-31 12:37:48 +03:00
parent 149cb3b5b6
commit 585365267f
17 changed files with 170 additions and 158 deletions

View File

@@ -13,7 +13,8 @@
const char* ssid = "wf-home";
const char* password = "0ndthnrf";
const char* mqtt_server = "192.168.1.250";
const char* mqtt_server = "192.168.1.111";
#define TOPIC "home/"
AsyncMqttClient mqttClient;
Ticker mqttReconnectTimer;
@@ -123,7 +124,7 @@ bool switchLight(uint8_t nLamp, int state, bool pub)
digitalWrite(nLamp, state);
EEPROM.put(nLamp == R_LED1 ? 0 : 1, state);
EEPROM.commit();
String topic = "/home/smallroom/lamp";
String topic = TOPIC"smallroom/lamp";
char n = nLamp == R_LED1 ? '1' : '2';
//if (pub)
mqttClient.publish(String(topic + n).c_str(), 1, false, state ? "1" : "0");
@@ -154,12 +155,12 @@ void onWifiDisconnect(const WiFiEventStationModeDisconnected& event) {
}
void onMqttConnect(bool sessionPresent) {
mqttClient.publish("/home/smallroom/lamp1", 1, false, digitalRead(R_LED1) == 1 ? "1" : "0");
mqttClient.publish("/home/smallroom/lamp2", 1, false, digitalRead(R_LED2) == 1 ? "1" : "0");
mqttClient.publish("/home/smallroom/lamp1_set", 1, false, digitalRead(R_LED1) == 1 ? "1" : "0");
mqttClient.publish("/home/smallroom/lamp2_set", 1, false, digitalRead(R_LED2) == 1 ? "1" : "0");
mqttClient.subscribe("/home/smallroom/lamp1_set", 1);
mqttClient.subscribe("/home/smallroom/lamp2_set", 1);
mqttClient.publish(TOPIC"smallroom/lamp1", 1, false, digitalRead(R_LED1) == 1 ? "1" : "0");
mqttClient.publish(TOPIC"smallroom/lamp2", 1, false, digitalRead(R_LED2) == 1 ? "1" : "0");
mqttClient.publish(TOPIC"smallroom/lamp1_set", 1, false, digitalRead(R_LED1) == 1 ? "1" : "0");
mqttClient.publish(TOPIC"smallroom/lamp2_set", 1, false, digitalRead(R_LED2) == 1 ? "1" : "0");
mqttClient.subscribe(TOPIC"smallroom/lamp1_set", 1);
mqttClient.subscribe(TOPIC"smallroom/lamp2_set", 1);
digitalWrite(B_LED, LOW);
}
@@ -171,11 +172,11 @@ void onMqttDisconnect(AsyncMqttClientDisconnectReason reason) {
}
void onMqttMessage(char* topic, char* payload, AsyncMqttClientMessageProperties properties, size_t len, size_t index, size_t total) {
if(strcmp(topic, "/home/smallroom/lamp1_set") == 0){
if(strcmp(topic, TOPIC"smallroom/lamp1_set") == 0){
if (strncmp("1", payload, 1) == 0) switchLight(R_LED1, 1, false);//lStat1 = true;
else switchLight(R_LED1, 0, false);//lStat1 = false;
}
if(strcmp(topic, "/home/smallroom/lamp2_set") == 0){
if(strcmp(topic, TOPIC"smallroom/lamp2_set") == 0){
if (strncmp("1", payload, 1) == 0) switchLight(R_LED2, 1, false);//lStat2 = true;
else switchLight(R_LED2, 0, false);//lStat2 = false;
}