Die Beschreibung der API wurde nun erweitert. Leider hilft es aber nicht weiter.
Kann es sein dass Dein Gerät ein Update braucht? Laut Beschreibung gibt es „deviceType“:
In deinem Log file fehlt es aber:
Deswegen im Modul die Fehlermeldung.
Laut der Beschreibung ist das commando lock und unlock.
Danke, die Firmware ist, so denke ich, auf dem letzten Stand. Es wird auf alle Fälle keine neuere angeboten.
Ich habe die Diskrepanz im Github kommentiert.
Sehen wir was zurück kommt.
Jetzt scheint Dein Modul richtig zu funktionieren. Die SwitchBot Cloud hat aber ihre eigenen Probleme: dump.txt (1,5 KB)
Es kommen jetzt dieselben Fehler aus der Coud wie bei den direkt gesendeten curl-Commands.
ich habe den Code im Modul mal überarbeitet. Damit ist er leichter zu lesen/bearbeiten und auch Fehler-resistenter.
Ich würde dich bitten mal zu testen.
Ach und die schalt-variable ist nun wieder lockState. Die setState gibt es nicht mehr beim Lock und sollte gelöscht werden. Sorry dafür, musste aber sein.
BTW. Das PHP Beispiel aus der API Dokumentation ist von mir. Das wird genauso im Modul benutzt. Kein Grund mit Scripten zu arbeiten.
Im Konfigurationsformular der Instanz kannst Du nun manuell einen Befehl eingeben und absenden .
Zum Testen Ganz hilfreich.
Kommt da gar nichts auf der API ? Und er ist damit auch nicht im Konfigurator gelistet?
Falls doch, erstelle mal bitte eine Instanz und mache ein Debug vom GETSTATUS.
Dann bau ich da mal was ein.
Im Testcenter hast Du noch einen Typo. Du hast „dafault“ anstatt „default“ als Parameter vorgegeben.
Sind Command und Parameter richtig gesetzt, bekomme ich folgenden Fehler:
Cannot auto-convert value for parameter Value (Type does not match) in C:\ProgramData\Symcon\modules.store\switchbot.attain.de\SwitchBot Device\module.php on line 303
Warning: Cannot auto-convert value for parameter Value (Type does not match) in C:\ProgramData\Symcon\modules.store\switchbot.attain.de\SwitchBot Device\module.php on line 303
Das Schloss führt die Funktion korrekt aus. Hier die Debug Info des Schlosses bei einem UNLOCK Command: dump.txt (3,5 KB)
Führe ich einen Befehl über das Webfront (state) aus bekomme ich folgende Fehlermeldung:
Im Splitter Debug sehe ich, dass ein „tunOn“ Befehl anstatt ein lock oder unlock Befehl geschickt wird.
05/02/2024, 10:38:57 AM | ForwardData | {„statusCode“:160,„body“:{},„message“:„not this command:turnOn“}
Im Message Log von IPS wird folgender Fehler geworfen, ich denke da iat ein Typo ($kex anstatt $key):
05/02/2024, 10:38:16 AM | FlowHandler | Could not forward data to instance #16385:
Warning: Undefined variable $kex in C:\ProgramData\Symcon\modules.store\switchbot.attain.de\SwitchBot Device\module.php on line 247
Zum S10:
Im Konfigurator ist er gelistet als
Name: Vacum
Type: Unkown
ID: ist vorhanden
Hub Device: keine Angabe
Instanz: wird erzeugt
GETSTATUS in der Instanz erzeugt folgendes im Debug: dump2.txt (600 Bytes)
Das ist die Geschichte mit dem „Internal Server Error“. Auch das fange ich nun ab.
Das ist ein Cloud Problem dort. Wenn ich meinen drücker 5x sage er soll drücken, klappt das 2x und 3x bekomme ich auch die Meldung zurück.
Ich denke der RequestAction Befehl auf die setState Variable ist noch nicht richtig abgefangen:
Du schickst den Default-Befehl: turnOn/turnOff anstatt lock/unlock
Wenn ich über das Testcenter schalte wird die setState Variable noch nicht korrekt gesetzt.