@paul53
Eine KI hat mir folgendes geflüstert:
Die Warnmeldung im ioBroker-Log zeigt an, dass ein boolean-Wert (true/false) an einen State geschrieben wird, der eigentlich einen number-Wert erwartet. Das passiert konkret beim State switchbot-hub.0.DC2BC51B4688.press.
Ursache
Laut der Dokumentation des Adapters:
Der Adapter erstellt für SwitchBot-Geräte zwei States: press (für das Auslösen eines Drucks) und state (für On/Off).
Wenn das Gerät im Press-Modus betrieben wird, ist der state-Wert nicht relevant, und der press-State sollte als boolean (true/false) interpretiert werden.
Wenn das Gerät im Switch-Modus betrieben wird, sollte der press-State eigentlich als number (z.B. 0/1) interpretiert werden, um den Status korrekt widerzuspiegeln.
Lösung
Du hast zwei Möglichkeiten, um die Warnung zu beheben:
State-Typ im ioBroker anpassen
Gehe in die ioBroker-Objektverwaltung.
Suche den State switchbot-hub.0.DC2BC51B4688.press.
Ändere den common.type des States von number auf boolean.
Speichere die Änderungen und starte den Adapter neu.
Skript anpassen (falls du den State selbst setzt)
Falls du in einem Skript (z.B. JavaScript) den State switchbot-hub.0.DC2BC51B4688.press setzt, passe den Code so an, dass er einen number-Wert (z.B. 1 für true, 0 für false) statt eines booleans verwendet:
// Statt:
setState("switchbot-hub.0.DC2BC51B4688.press", true);
// Verwende:
setState("switchbot-hub.0.DC2BC51B4688.press", 1);
mache ich ja momentan, aber das muss ich bei einem Neustart ja immer wieder machen. Nervt... :-)
Wie kann man denn 2) in einem Blockly verwenden? Oder muss ich dafür ein reines skript laufen lassen?