NEWS
Getrennte States für CMND und STAT zusammenführen
-
Guten Morgen,
zur Ausgangs Situation.
Verbaut sind bei mir hinter den Lichtschaltern Shelly 1 (mit Tasmota).
Diese habe ich per MQTT Adapter eingebunden. Dort werden ja getrennte States für CMND und STAT angelegt.
Jetzt habe ich mich seit langem mal an eine VIS per IQontrol gewagt.
Dort trat dann das Problem auf das die VIS nur den CMND State zum auslesen des Status der Lampe nutzt. Ich würde aber auch gern in der VIS sehen wenn das Licht normal über den Schalter angemacht wurde . Dort ändert sich ja dann nur der STAT State. Darauf hin habe ich mir ein Blockl'y gebaut wo der CMND State geändert wird wenn der STAT State geändert wurde. Siehe Bild.
Das hat jetzt auch 1 Woche gut Funktioniert. Bis eben
Wir sind dann wach geworden weil im Schlafzimmer das Licht ganz schnell an & aus gegangen ist. Im Flur das selbe spiel. Bin dann zum Sicherungskasten und habe erstmal alles ausgemacht. Kurze zeit wieder eingeschaltet und es passierte wieder. Habe dann schnell alle Script's gestoppt und es hörte auf. Da ich in letzter Zeit nur das Script Oben neu geschrieben hatte muss es das sein. Dieses Script wieder an und es ging wieder los.Anscheinend muss es im Badezimmer und der Küche auch gewesen sein denn dort geht garkein Licht mehr. Shelly's sind erreichbar und Relais schaltet auch aber Licht bleibt aus
wahrscheinlich hat es die Trafo's der Deckenspot's zerlegt.
Kann mir evtl . bitte wer helfen wie ich das Problem anders lösen kann ohne das so etwas wieder Passiert. Und warum ist die's jetzt erst nach einer Woche Passiert?
Hier noch der Log vom ioBroker.Vielen Dank
-
@hahne sagte: You are assigning a string to the state "mqtt.0.Home.Badlicht.cmnd.POWER" which expects a number.
Die CMND-Datenpunkte haben den falschen Typ.
Wenn Status und Kommando in getrennten Datenpunkten vorliegen, führt man sie in einem Alias zusammen.
@hahne sagte in Getrennte States für CMND und STAT zusammenführen:
das Licht ganz schnell an & aus gegangen ist.
Es ist eine Trigger-Endlosschleife entstanden, was mit dem Alias nicht passiert.
-
@paul53
Vielen Dank für deine Antwort.Auch wenn ich sie als Number im Script angebe sagt er mir Daraufhin das ich eine Number einem Datenpunkt zuweisen der ein String erfordert. Irgendwie stimmt da was nicht. Egal wie Rum ich es mache er will dann das Gegenteil.
Ich habe sie jetzt mit getrennten States zum Lesen und Schreiben im Alias zusammengeführt. Scheint erstmal zu Funktionieren. -
@paul53 Woran erkenne ich welchen Wert (Boolean,String,Number) der Datenpunkt Original erwartet?
I -
@hahne sagte: Woran erkenne ich welchen Wert (Boolean,String,Number) der Datenpunkt Original erwartet?
Das steht in den Objekteigenschaften (Bleistift rechts).
-
@paul53
Okay.
Ich habe jetzt als Konvertierung beim schreiben im "Alias" "val ? 'ON' : 'OFF'"
angegeben jetzt werden unter stat und cmnd die States mit ON und OFF angezeigt.Das Problem ist jetzt:
-Lampe im Flur ist AUS wird per Physischem Schalter eingeschaltet.
cmnd State steht auf OFF // stat State steht auf ON // alias State steht auf true-Im VIS wird Lampe als AN angezeigt (richtig)
- Will ich die Lampe jetzt per VIS oder im Alias schalten Passiert nichts. Lampe bleibt Aus.
Woran liegt das ? Was hab ich falsch gemacht?
-
@hahne sagte: Konvertierung beim schreiben im "Alias" "val ? 'ON' : 'OFF'"
Das sollte funktionieren, wenn der CMND-Datenpunkt mit "ON" / "OFF" gesteuert wird.
Zeige bitte die OBJEKTDATEN des Alias in Code tags. -
@paul53
Hab's gefunden.
Musste im MQTT Adapter "Nur bei Änderungen publizieren" den Haken raus nehmen.
Jetzt kann ich aber die Lampen nicht mehr per Alexa+Node Red schalten.Ich dreh durch
-
@hahne sagte: Lampen nicht mehr per Alexa+Node Red schalten.
Nicht über den Alias? Wenn man einen Alias hat, sollte man nur noch diesen verwenden.
-
@paul53
Ja , muss ich alles umändern.
Jetzt nach dem MQTT Neustart will er im CMND State nun doch eine Number und keinen String mehr.
Vielen Dank für deine Hilfe.
Ich hoffe es klappt dann alles .