NEWS
MQTT über Blockly Script steuern
-
Hallo,
ich versuche über Blockly einen MQTT Befehl abzusetzen der an mein Sonoff NSPanel Termperatur Daten übergibt.
Das Panel lässt sich ansteuern über MQTT.fx und auch wenn dich den Befehl direkt im Objektbaum absetze über NSPSend {"temperatures": 990}.
Ich möchte es gerne über Blockly steuern damit ich bei einer Änderung der Temperatur automatisch den neuen Wert setzten kann. Dazu habe ich folgendes Script gebaut.
die MQTTComndID wird auf das Topic gesetzt.
Im falls Objekt wird geprüft ob sich der Wert einen Temperatursensors geändert hat. Wenn das der Fall ist soll die Variable temperature auf den Wert des Sensors gesetzt werden und anschließend an das Gerät geschickt werden.Ich verstehe nicht wo mein Fehler liegt das der Wert nicht abgesendet wird.
Hat jemand eine Idee wo der Fehler liegen könnte.
Danke und Gruß
Michael -
@michael-schütz Wenn Du uns nicht zeigst, was in der Funktion "setzeWetter" passiert, können wir Dir nicht helfen ...
-
@michael-schütz sagte: Befehl direkt im Objektbaum absetze über NSPSend {"temperatures": 990}.
Dann sollte es auch per Blockly funktionieren?
-
@paul53
leider kommen keine Werte an.Im Gerät wird mir das dann so angezeigt.
Gebe ich den Wert direkt hier ein
wird er angenommen im Gerät.
Ich finde den Fehler nicht.
-
@michael-schütz sagte: leider kommen keine Werte an.
Die Temperatur hat sich geändert? Denn nur dann wird getriggert.
Erweitere das DP-Schreiben beim Skriptstart: -
jetzt sendet er aber ich erhalte eine Fehlermeldung vom Gerät
23:31:28.530 NSP: Sent = {"Temperature":21.2}
23:31:28.547 MQT: SmartHome/Heizungssteuerung-test/stat/RESULT = {"NSPSend":"Done"}
23:31:28.631 NSP: Received Raw = bytes('55AA000B007B226572726F72223A327DD3E600')
23:31:28.639 MQT: SmartHome/Heizungssteuerung-test/tele/RESULT = {"NSPanel":{"error":2}} -
@michael-schütz sagte: Fehlermeldung vom Gerät
Davon habe ich keine Ahnung.
-
ich konnte den Fehler finden. Es ging um Groß und Kleinschreibung.
Danke für die Unterstützung bis hier hin.
Wie kann ich diesen Befehl umsetzen in Blockly? Auch hier werden Werte übergeben. Es muss wie vorher auch ein JSON Payload werden.
{"HMI_outdoorTemp":{"current":5,"range":"-3,8"}}
-
@michael-schütz sagte: {"HMI_outdoorTemp":{"current":5,"range":"-3,8"}}
-
kann ich in range 2 Werte anlegen. Einen für MindestTemperatur und einen für MaximalTemperatur. Ich habe das so versucht, leider erfolglos. Die Werte bei range müssen über ein "," getrennt werden. Es dürfen aber maximal 5 Zeichen sein
-
-
@paul53
Danke jetzt klappt alles.