MQTT: Small fixes. Most notably, MQTT_TOPIC/status will now contain hostname and IP of pitrix.

This commit is contained in:
Fabian Schlenz 2019-06-19 22:27:33 +02:00
parent 90c0df093e
commit 82fbc7be43

View File

@ -58,7 +58,12 @@ void mqtt_callback(char* original_topic, byte* pl, unsigned int length) {
if(topic.compareTo("mode")==0) { if(topic.compareTo("mode")==0) {
LOGln("MQTT * Changing mode..."); LOGln("MQTT * Changing mode...");
change_current_effect(payload); bool result = change_current_effect(payload);
if (result) {
LOGln("MQTT * Effect changed.");
} else {
LOGln("MQTT * Could not change effect.");
}
return; return;
} else if (topic.compareTo("reboot")==0) { } else if (topic.compareTo("reboot")==0) {
LOGln("MQTT * Rebooting"); LOGln("MQTT * Rebooting");
@ -85,10 +90,12 @@ void mqtt_callback(char* original_topic, byte* pl, unsigned int length) {
} }
boolean mqtt_connect() { boolean mqtt_connect() {
LOG("MQTT * Connecting to MQTT server with client id %s", hostname); LOGln("MQTT * Connecting to MQTT server with client id %s", hostname);
if (mqtt_client.connect(hostname, MQTT_USER, MQTT_PASS, MQTT_TOPIC "status", 0, true, "OFFLINE", true)) { if (mqtt_client.connect(hostname, MQTT_USER, MQTT_PASS, MQTT_TOPIC "status", 0, true, "OFFLINE", true)) {
LOGln("MQTT * Connected."); LOGln("MQTT * Connected.");
mqtt_client.publish(MQTT_TOPIC "status", "ONLINE", true); char buffer[40];
snprintf(buffer, 40, "ONLINE %s %s", hostname, WiFi.localIP().toString().c_str());
mqtt_client.publish(MQTT_TOPIC "status", buffer, true);
mqtt_client.subscribe(MQTT_TOPIC "+"); mqtt_client.subscribe(MQTT_TOPIC "+");
mqtt_client.subscribe(MQTT_TOPIC_WEATHER "#"); mqtt_client.subscribe(MQTT_TOPIC_WEATHER "#");
} }