NEWS
[Gelöst] Datenpunkt unterhalb MQTT Adapter erzeugen
-
Moin,
Ich nutze den MQTT Broker/Client Adapter in der Version 2.3.5
Diesen habe ich so konfiguriert das er sich mit einem vorhandenen Mosquitto MQTT Server verbindet.Ich habe nun ca. 60 Tasmota-Geräte die sich ebenfalls mit dem Mosquitto verbinden und ich werte per JavaScript die Zustände aus, verarbeite die JSON Meldungen usw.
Zum Steuern der Tasmota Geräte setze ich z.B.
mqtt.0.cmnd.Sonoff-L1-Lite178.POWER
auf ON oder OFF
Früher (ältere Tasmota Firmwareversionen) war es so das diese CMND Datenpubkte von den Tasmota Geräten angelegt wurden. POWER wird auch zumeist angelegt.
Das obige Gerät ist eine LED Lichterkette und kennt z.B. auch nochmqtt.0.cmnd.Sonoff-L1-Lite178.Dimmer mqtt.0.cmnd.Sonoff-L1-Lite178.Color
welche aber nicht angelegt werden.
Und will ich per Skript diese MQTT Datenpunkte ansteuern.
setState("mqtt.0.cmnd.Sonoff-L1-Lite178.Color", "#FF0000");
Mein Skript meckert weil es diese Datenpunkt nicht gibt.
Nagut, lege ich diesen eben an:createState("mqtt.0.cmnd." + s_DeviceName2 + ".Color", false, { read: true, write: true, type: 'string', def: "#FF0000" });
Das funktioniert aber nicht, der Datenpunkt wird nicht erzeugt.
Lege ich den z.B. per MQTT Explorer an funktioniert alles, auch das Skript kann hinterher damit arbeiten.ich würde die aber gerne aus dem Skript heraus anlegen können - was mache ich falsch? Muss ich da noch übergeben oder im MQTT Adapter anders einstellen?
-
@bananajoe sagte:
createState("mqtt.0.cmnd." + s_DeviceName2 + ".Color", false, {
So wird der Datenpunkt unter "javascript.0.mqtt.0.cmnd." erzeugt. Man kann mit createState() keine Adapter-Datenpunkte erzeugen.
-
@paul53
Tatsache, da sind sie ja, all meine Versuche.Also muss ich das nach extern auslagern (bash Befehl) ...
-
@bananajoe
Mhh, ich habe versucht mit mosquitto_pub die MQTT Topics zu erzeugen ... ist auch wieder nicht richtig.
Also die werden zwar erzeugt.Aber dann habe ich Phänomene wie das er meckert das ich einen Zahl in einen String schreiben will und umgekehrt.
Also muss ich danach in ioBroker den Datenpunkt trotzdem manuell bearbeiten und den Typ ändern ..Ich lasse es jetzt und lege die Topics im MQTT händisch per MQTT Explorer an ... es betrifft ja nur Sonderfälle wie z.B. meine LED-Leisten