NEWS
IP Adresse per mqtt an ioBroker senden?
-
Hallo zusammen,
ich hätte gerne, das meine Wemos D1 minis ihre IP Adresse an ioBroker senden. Auf den minis laufen kleine Programme die Sensordaten schon per mqtt an ioBroker übermitteln.
Was muß ich mit in die Skripte einbauen, damit das funktioniert?
Grüße
Manfred -
@beowolf sagte in IP Adresse per mqtt an ioBroker senden?:
Was muß ich mit in die Skripte einbauen, damit das funktioniert?
die ip... würde ich sagen wenn du diese haben willst..
ansonsten.. ist meine Glaskugel zur Politur und somit kann ich in deine scripte nicht reinschauen
-
Ok, dann frage ich mal anderas.
Hiermit
// Die IP vom Webserver auf dem seriellen Monitor ausgeben Serial.println(""); Serial.println("WLAN verbunden."); Serial.println("IP Adresse: "); Serial.println(WiFi.localIP());
bekomme ich im seriellen Monitor die aktuelle IP-Adresse von meinem Wemos angezeigt.
Jetzt möchte ich, das mir diese IP-Adresse per mqtt an iobroiker übermittelt wird.
Ich hoffe es wird verständlicher was ich möchte?
wenn ich da so mache
mqttClient.publish("HH_Frischwasser/Aussen/Info/IP Adresse", WiFi.localIP());
bekomme ich eine Fehlermeldung.
Grüße
-
@beowolf sagte in IP Adresse per mqtt an ioBroker senden?:
bekomme ich eine Fehlermeldung.
die da währe...
und poste das gesammt Script von dem D1.. kein plan was du da machst
-
@beowolf Hallo Manfred, ich hab es bei meinen Sensoren so gelöst:
String localIP = WiFi.localIP().toString().c_str();
.
Das schicke ich dann per RestAPI oder MQTT an den ioBroker.
LG -
@rene55
Ich habe das hier eingebautvoid reconnectToMQTT() { if (mqttClient.connect(mqtt_client_id , mqtt_user, mqtt_password)) { Serial.println("Per MQTT mit ioBroker verbunden"); String localIP = WiFi.localIP().toString().c_str(); mqttClient.publish("HH_Frischwasser/Aussen/alive", "0"); mqttClient.publish("HH_Frischwasser/Aussen/Info/IP Adresse", (localIP)); mqttClient.subscribe("HH_Frischwasser/Aussen/Frischwasserventil"); mqttClient.subscribe("HH_Frischwasser/Aussen/Essigdosierer"); } else { Serial.print("mqtt-Verbindung fehlgeschlagen "); Serial.print(mqttClient.state()); Serial.println(" versuchen es in 5 Sekunden erneut"); // Wait 5 seconds before retrying delay(5000); } }
Dann kommt diese Meldung
no matching function for call to 'PubSubClient::publish(const char [39], String&)'
-
@beowolf sagte in IP Adresse per mqtt an ioBroker senden?:
mqttClient.publish("HH_Frischwasser/Aussen/Info/IP Adresse", (localIP));
das kann wegString localIP = WiFi.localIP().toString().c_str();
und das eretzen
mqttClient.publish("HH_Frischwasser/Aussen/Info/IP Adresse", (localIP));
durch
mqttClient.publish("HH_Frischwasser/Aussen/Info/IP Adresse", (char*) WiFi.localIP().toString().c_str());
-
@beowolf Den Wert 'localIP' kannst du dir aber ausgeben lassen, oder? Ich bin mir nicht sicher, ob im Topic von MQTT Leerzeichen erlaubt sind.
-
Alles gut - eingebaut - aufgespielt - läuft.
Vielen Dank