NEWS
Test Adapter sureflap v1.0.x GitHub
-
Hallo,
erstmal danke für deine Antwort. Ich habe im Grunde ja 2 Probleme, die ich mir nicht erklären kann. Um die Sache im 1. Schritt zu vereinfachen, habe ich mir meinen Backup Raspberry 4 genommen und ioBroker frisch installiert und darauf den SureFlap Adapter eingerichtet. Auch hier habe ich das Problem, dass ich den lockmode und curfew nicht ausführen kann (Adapter Version ist unerheblich, es geht mit keiner Version). Wenn ich die Datenpunkte manuell (nicht bestätigt) ändere, bleiben diese auch rot. Egal wie ich das mache, ob manuell oder per VIS oder Skript, die Änderungen werden einfach nicht durchgereicht.
Ich habe grundsätzlich mit dem Adapter Zugriff. Ich kann die Anwesenheit des Tiers per Adapter ändern und mir auch alle Änderungen der History per VIS visualisieren. In den Adapter Einstellungen sehe ich auch das Bild meiner Katze.
Per SureFlap App kann ich alle Funktionen einwandfrei benutzen. Öffnen, Schließen, Zeitregel etc. Alles ohne Probleme. Der Hub ist 4m von der Klappe entfernt. Alles ist korrekt verbunden und eingerichtet. Allerdings habe ich die Hardware erst seit 3 Wochen.
Katzenklappe Firmware: 1.1
Katzenklappe Hardware: 1.2
Hub Firmware: 734.50
Hub Hardware: 3.0Ich kann mir das einfach nicht erklären. Warum kann ich die Klappe über die App steuern aber nicht über den Adapter?
Das Log bringt wenig interessante Informationen, wenn ich curfew oder den lockmode ändere. Irgendwie hilft das nicht weiter.
Woran kann das liegen?
LOG Auszug bei Änderung lockmode. Danach kommt auch nichts mehr. Adapter ist auf maximale Protokollierungsstufe eingestellt.
LOG-Auszug bei Neustart des Adapters:
Raspberry Info:
-
Hallo @christianfeu
Der Eintrag "lock mode changed to 0" bedeutet zumindest, dass der Aufruf an die Surepet API erfolgreich war und mit einem 200 OK quittiert wurde. Warum der Datenpunkt dann nicht aktualisiert wird, ist mir rätselhaft.
Ändert sich eigentlich der Zustand in der App?Ich vermute, dass du eine neue Version der Katzenklappe hast und hier die Datenstruktur abweicht, da deine Versionen (1.1 und 1.2) ganz anders sind als bei mir (335.422 und 9). Um weiter zu analysieren, bräuchte ich aber einen Auszug aus dem Datenverkehr.
Du scheinst dich auszukennen, darum verzichte ich mal auf die Erklärung, wie man sich die Requests im Browser mit den Entwicklertools anschaut. Falls nicht, sag bescheid.
Und zwar hätte ich gerne die Antwort auf den PUT Request für eine Änderung des Lockmode.
Dazu müsstest du im Browser https://surepetcare.io/ aufrufen dich anmelden und ähnlich wie in der App zu den Einstellungen der Klappe gehen und dort die Klappe ver- oder entriegeln.
Da bräuchte ich dann die Antwort auf den PUT request https://app-api.production.surehub.io/api/device/.../control wie im Screenshot als unformatiertes JSON:
Und dann hätte ich gerne noch, wenn du die Übersicht aufrufst https://surepetcare.io/dashboard, die Antwort auf den GET request https://app-api.production.surehub.io/api/me/start (wichtig, der request api/me/start nicht /api/start):
Wichtig, wenn du das JSON (am besten als Textdatei) hier hochlädst, vorher persönliche Daten wie Email entfernen. Alternativ kannst du es mir auch direkt per Email senden: asmoday_666@gmx.de
VG
-
Hier ist jetzt der Protokollauszug von Sureflap und SQL mit Silly Log-Level:
2024-02-17 12:21:08.441 - [34mdebug[39m: sureflap.0 (1266997) searching and removing of obsolete objects 2024-02-17 12:21:08.442 - [35msilly[39m: sureflap.0 (1266997) deleting obsolete object 'Familie_K_____i.Katzenklappe.led_mode' 2024-02-17 12:21:08.443 - [35msilly[39m: sureflap.0 (1266997) checking for object Familie_K_____i.Katzenklappe. 2024-02-17 12:21:08.443 - [35msilly[39m: sureflap.0 (1266997) deleting obsolete object 'Familie_K_____i.Katzenklappe.control.led_mode' 2024-02-17 12:21:08.443 - [35msilly[39m: sureflap.0 (1266997) deleting obsolete object 'Familie_K_____i.Katzenklappe.control' 2024-02-17 12:21:08.444 - [35msilly[39m: sureflap.0 (1266997) deleting obsolete object 'Familie_K_____i.Katzenklappe.online' 2024-02-17 12:21:08.445 - [35msilly[39m: sureflap.0 (1266997) deleting obsolete object 'Familie_K_____i.Katzenklappe.serial_number' 2024-02-17 12:21:08.445 - [35msilly[39m: sureflap.0 (1266997) deleting obsolete object 'Familie_K_____i.Katzenklappe' 2024-02-17 12:21:08.460 - [35msilly[39m: sureflap.0 (1266997) obsolete object 'Familie_K_____i.Katzenklappe.led_mode' not found 2024-02-17 12:21:08.462 - [34mdebug[39m: sureflap.0 (1266997) obsolete object Familie_K_____i.Katzenklappe.control.led_mode found. trying to delete ... 2024-02-17 12:21:08.464 - [34mdebug[39m: sureflap.0 (1266997) obsolete object Familie_K_____i.Katzenklappe.control found. trying to delete ... 2024-02-17 12:21:08.465 - [34mdebug[39m: sureflap.0 (1266997) obsolete object Familie_K_____i.Katzenklappe.online found. trying to delete ... 2024-02-17 12:21:08.468 - [34mdebug[39m: sureflap.0 (1266997) obsolete object Familie_K_____i.Katzenklappe.serial_number found. trying to delete ... 2024-02-17 12:21:08.469 - [34mdebug[39m: sureflap.0 (1266997) obsolete object Familie_K_____i.Katzenklappe found. trying to delete ... 2024-02-17 12:21:08.515 - [35msilly[39m: sql.0 (1266515) Objects user redis pmessage */cfg.o.sureflap.0.Familie_K_____i.Katzenklappe.control.led_mode:null 2024-02-17 12:21:08.517 - [35msilly[39m: sql.0 (1266515) Objects user redis pmessage */cfg.o.sureflap.0.Familie_K_____i.Katzenklappe.online:null 2024-02-17 12:21:08.522 - [35msilly[39m: sql.0 (1266515) Objects user redis pmessage */cfg.o.sureflap.0.Familie_K_____i.Katzenklappe.serial_number:null 2024-02-17 12:21:08.527 - [35msilly[39m: sql.0 (1266515) States user redis pmessage */system.adapter.javascript.0.lastSync:{"val":1708168868514,"ack":true,"ts":1708168868525,"q":0,"from":"system.adapter.javascript.0","user":"system.user.admin","lc":1708168868525} 2024-02-17 12:21:08.529 - [35msilly[39m: sql.0 (1266515) States user redis pmessage */sureflap.0.Familie_K_____i.Katzenklappe.control.led_mode:null 2024-02-17 12:21:08.531 - [35msilly[39m: sureflap.0 (1266997) States user redis pmessage sureflap.0.*.control.*/sureflap.0.Familie_K_____i.Katzenklappe.control.led_mode:null 2024-02-17 12:21:08.533 - [35msilly[39m: sql.0 (1266515) States user redis pmessage */system.adapter.javascript.0.lastSync:{"val":1708168868517,"ack":true,"ts":1708168868528,"q":0,"from":"system.adapter.javascript.0","user":"system.user.admin","lc":1708168868528} 2024-02-17 12:21:08.535 - [35msilly[39m: sql.0 (1266515) States user redis pmessage */sureflap.0.Familie_K_____i.Katzenklappe.online:null 2024-02-17 12:21:08.539 - [35msilly[39m: sql.0 (1266515) Objects user redis pmessage */cfg.o.sureflap.0.Familie_K_____i.Katzenklappe.control:null 2024-02-17 12:21:08.541 - [35msilly[39m: sql.0 (1266515) States user redis pmessage */sureflap.0.Familie_K_____i.Katzenklappe.serial_number:null 2024-02-17 12:21:08.542 - [34mdebug[39m: sureflap.0 (1266997) obsolete object 'Familie_K_____i.Katzenklappe.control.led_mode' deleted 2024-02-17 12:21:08.544 - [35msilly[39m: sql.0 (1266515) Objects user redis pmessage */cfg.o.sureflap.0.Familie_K_____i.Katzenklappe:null 2024-02-17 12:21:08.546 - [34mdebug[39m: sureflap.0 (1266997) obsolete object 'Familie_K_____i.Katzenklappe.online' deleted 2024-02-17 12:21:08.549 - [34mdebug[39m: sureflap.0 (1266997) obsolete object 'Familie_K_____i.Katzenklappe.control' deleted 2024-02-17 12:21:08.551 - [34mdebug[39m: sureflap.0 (1266997) obsolete object 'Familie_K_____i.Katzenklappe.serial_number' deleted 2024-02-17 12:21:08.552 - [35msilly[39m: sql.0 (1266515) States user redis pmessage */system.adapter.javascript.0.lastSync:{"val":1708168868522,"ack":true,"ts":1708168868549,"q":0,"from":"system.adapter.javascript.0","user":"system.user.admin","lc":1708168868549} 2024-02-17 12:21:08.554 - [35msilly[39m: sql.0 (1266515) States user redis pmessage */system.adapter.javascript.0.lastSync:{"val":1708168868539,"ack":true,"ts":1708168868550,"q":0,"from":"system.adapter.javascript.0","user":"system.user.admin","lc":1708168868550} 2024-02-17 12:21:08.595 - [35msilly[39m: sql.0 (1266515) States user redis pmessage */system.adapter.javascript.0.lastSync:{"val":1708168868545,"ack":true,"ts":1708168868593,"q":0,"from":"system.adapter.javascript.0","user":"system.user.admin","lc":1708168868593} 2024-02-17 12:21:08.600 - [35msilly[39m: sql.0 (1266515) Objects user redis pmessage */cfg.o.sureflap.0.Familie_K_____i.Katzenklappe.Katzenklappe:null 2024-02-17 12:21:08.606 - [35msilly[39m: sql.0 (1266515) Objects user redis pmessage */cfg.o.sureflap.0.Familie_K_____i.Katzenklappe.Katzenklappe.assigned_pets:null 2024-02-17 12:21:08.611 - [35msilly[39m: sql.0 (1266515) States user redis pmessage */system.adapter.javascript.0.lastSync:{"val":1708168868599,"ack":true,"ts":1708168868604,"q":0,"from":"system.adapter.javascript.0","user":"system.user.admin","lc":1708168868604} 2024-02-17 12:21:08.620 - [35msilly[39m: sql.0 (1266515) States user redis pmessage */system.adapter.javascript.0.lastSync:{"val":1708168868606,"ack":true,"ts":1708168868616,"q":0,"from":"system.adapter.javascript.0","user":"system.user.admin","lc":1708168868616} 2024-02-17 12:21:08.624 - [35msilly[39m: sql.0 (1266515) Objects user redis pmessage */cfg.o.sureflap.0.Familie_K_____i.Katzenklappe.Katzenklappe.assigned_pets.Loki:null 2024-02-17 12:21:08.631 - [35msilly[39m: sql.0 (1266515) States user redis pmessage */system.adapter.javascript.0.lastSync:{"val":1708168868625,"ack":true,"ts":1708168868629,"q":0,"from":"system.adapter.javascript.0","user":"system.user.admin","lc":1708168868629} 2024-02-17 12:21:08.638 - [35msilly[39m: sql.0 (1266515) Objects user redis pmessage */cfg.o.sureflap.0.Familie_K_____i.Katzenklappe.Katzenklappe.battery:null 2024-02-17 12:21:08.639 - [32minfo[39m: sql.0 (1266515) disabled logging of sureflap.0.Familie_K_____i.Katzenklappe.Katzenklappe.battery 2024-02-17 12:21:08.644 - [35msilly[39m: sql.0 (1266515) States user redis pmessage */sureflap.0.Familie_K_____i.Katzenklappe.Katzenklappe.battery:null 2024-02-17 12:21:08.648 - [35msilly[39m: sql.0 (1266515) States user redis pmessage */system.adapter.javascript.0.lastSync:{"val":1708168868638,"ack":true,"ts":1708168868645,"q":0,"from":"system.adapter.javascript.0","user":"system.user.admin","lc":1708168868645} 2024-02-17 12:21:08.653 - [35msilly[39m: sql.0 (1266515) Objects user redis pmessage */cfg.o.sureflap.0.Familie_K_____i.Katzenklappe.Katzenklappe.battery_percentage:null 2024-02-17 12:21:08.655 - [32minfo[39m: sql.0 (1266515) disabled logging of sureflap.0.Familie_K_____i.Katzenklappe.Katzenklappe.battery_percentage 2024-02-17 12:21:08.657 - [35msilly[39m: sql.0 (1266515) States user redis pmessage */sureflap.0.Familie_K_____i.Katzenklappe.Katzenklappe.battery_percentage:null 2024-02-17 12:21:08.662 - [35msilly[39m: sql.0 (1266515) States user redis pmessage */system.adapter.javascript.0.lastSync:{"val":1708168868653,"ack":true,"ts":1708168868659,"q":0,"from":"system.adapter.javascript.0","user":"system.user.admin","lc":1708168868659} 2024-02-17 12:21:08.665 - [35msilly[39m: sql.0 (1266515) Objects user redis pmessage */cfg.o.sureflap.0.Familie_K_____i.Katzenklappe.Katzenklappe.control:null 2024-02-17 12:21:08.671 - [35msilly[39m: sql.0 (1266515) Objects user redis pmessage */cfg.o.sureflap.0.Familie_K_____i.Katzenklappe.Katzenklappe.control.curfew:null 2024-02-17 12:21:08.676 - [35msilly[39m: sql.0 (1266515) States user redis pmessage */system.adapter.javascript.0.lastSync:{"val":1708168868665,"ack":true,"ts":1708168868671,"q":0,"from":"system.adapter.javascript.0","user":"system.user.admin","lc":1708168868671} 2024-02-17 12:21:08.677 - [35msilly[39m: sureflap.0 (1266997) States user redis pmessage sureflap.0.*.control.*/sureflap.0.Familie_K_____i.Katzenklappe.Katzenklappe.control.curfew:null
Ich hoffe, das hilft. Da werden Objekte anscheinend aufgeräumt und gelöscht
Viele Grüße
-
Hallo @cooper2k4,
ich habe einen Verdacht.
Sowohl dein Hub, als auch deine Klappe heißen "Katzenklappe".
Den Namen vom Hub kann man leider imho nicht ändern, aber die Klappe lässt sich in der App umbenennen.
Wenn du ihr testweise mal einen anderen Namen geben könntest, z.B. nur "Klappe" o.ä.
Danach müsstest du entweder alle Objekte unterhalb sureflap.0 löschen und den Adapter neu starten, damit die Struktur neu angelegt wird. Oder alternativ die Instanz löschen und neu hinzufügen.
Und dann prüfen, ob das Problem noch besteht.Problem ist, dass es vor kurzem eine Änderung in der API gab, wodurch die Geräte (z.B. Klappe) fälschlicherweise direkt unter dem Haushalt erzeugt wurden, statt unterhalb des Hubs. Um das zu korrigieren, habe ich eine Funktion eingebaut, die nach den Geräten unterhalb des Haushalts sucht und, falls es sie findet, wieder löscht.
Jetzt sucht er bei dir nach "Katzenklappe" und findet diese auch. Allerdings handelt es sich aufgrund der Namensgleichheit nicht um die Klappe, sondern um den Hub. Und dann versucht er fälschlicherweise den Hub zu löschen, statt der Klappe. Dadurch wird auch der battery-State gelöscht und somit das Logging deaktiviert.Ich muss mir mal überlegen, wie ich dieses Problem umgehe, aber temporär sollte es hoffentlich helfen, wenn du unterschiedliche Namen vergibst.
Gruß
Sebastian -
Hallo Sebastian,
super!
Vielen Dank für Deine Arbeit und die Erklärung und Lösung. Das war es. Nach dem Umbenennen der Klappe funktioniert es wieder!
Schönes Wochenende
Thorsten -
Hallo,
Problem 1 ist gelöst. Ich kann meine Katzenklappe wieder steuern. Dadurch, dass ich beim Haushalt, beim Hub und bei der Katzenklappe denselben Namen verwendet habe, hat der Aufruf nicht mehr funktioniert.
Vielen Dank für die Unterstützung
-
Version 2.0.2 zeigt unter movement jetzt auch die device id der benutzen Klappe als last_flap_id. Außerdem wurden zwei Bugs behoben, die nur auftraten, wenn der Hub und die Klappe denselben Namen hatten.
English:
Version 2.0.2 now shows under movement the device id of the last used flap as last_flap_id. In addition, two bugs have been fixed that only occurred if the hub and the flap had the same name. -
Mit Version 2.1.0 kann man die History in der Konfiguration ein- und ausschalten und festlegen, wie viele History-Datenpunkte angezeigt werden sollen (max. 25). Standardmäßig ist die History ab sofort deaktiviert. Dies ist nötig, da das Erzeugen der vielen Datenpunkte in der History bei einigen zu starker Last geführt hat, bei manchen sogar zum Absturz des JS-Adapters. Für die meisten war die History eh uninteressant und wer mehrere Klappen hat, für den gibt es seit Version 2.0.1 die movement-Datenpunkte. Wer trotzdem die History benötigt, kann sie in der Konfiguration wieder aktivieren. Auf meinem System hat sie z.B. keine Probleme verursacht. Für die Zukunft werde ich die History wohl umbauen und kompakter gestalten, damit nicht mehr so viele Datenpunkte erzeugt werden.
English:
With version 2.1.0 you can switch the history on and off in the configuration and specify how many history data points should be displayed (max. 25). The history is now deactivated by default. This is necessary because the generation of so many history data points has led to heavy load for some users and even to crashes of the JS adapter for some. For most people the history was of no interest anyway and for those who have several flaps, the movement data points have been available since version 2.0.1. If you still need the history, you can reactivate it in the configuration. On my system for example it did not cause any problems. For the future, I will probably rebuild the history and make it more compact so that not so many data points are generated. -
Version 2.1.1 enthält einen Bugfix und 2.1.2 Dependency Updates.
English:
Version 2.1.1 contains a bugfix and 2.1.2 dependency updates. -
Sure Petcare hat seine neue App ausgerollt. Soweit ich das sehe, verwendet sie weiterhin die neue API, auf die ich mit version 2.x.x umgestellt habe. Bis auf ein paar Timeouts während der Umstellung ist mir bisher nichts aufgefallen und es scheint alles alles wie gehabt zu funktionieren. Falls euch Probleme auffallen, gerner hier oder auf github Bescheid geben.
English:
Sure Petcare has rolled out its new app. As far as I can tell, it is still using the new API that I switched to with version 2.x.x. Apart from a few timeouts during the cutover, I haven't noticed any problems so far and everything seems to be working as usual. If you notice any problems, please let me know here or on github. -
Hallo, kann mir jemand helfen?
Ich versuche bereits die ganze Zeit mit verschiedenen Versionen den SureFlap Adapter V 2.1.1 zum laufen zu bekommen. Restart loop detection.
Hier mal ein Auszug:
2024-06-15 09:32:15.053 - error: sureflap.0 (22350) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
2024-06-15 09:32:15.054 - error: sureflap.0 (22350) unhandled promise rejection: undefined is not a valid state value
2024-06-15 09:32:15.059 - error: sureflap.0 (22350) Error: undefined is not a valid state value
at Object.maybeCallbackWithError (/opt/iobroker/node_modules/@iobroker/js-controller-common/build/lib/common/maybeCallback.js:35:17)
at Sureflap._setState (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/adapter.js:5446:49)
at Sureflap.setState (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/adapter.js:5406:21)
at Sureflap.setSureflapConnectToAdapter (/opt/iobroker/node_modules/iobroker.sureflap/main.js:1045:10)
at /opt/iobroker/node_modules/iobroker.sureflap/main.js:588:14
at new Promise (<anonymous>)
at Sureflap.getDeviceStatusFromData (/opt/iobroker/node_modules/iobroker.sureflap/main.js:575:39)
at /opt/iobroker/node_modules/iobroker.sureflap/main.js:312:21
2024-06-15 09:32:15.060 - error: sureflap.0 (22350) undefined is not a valid state value
2024-06-15 09:32:15.074 - info: sureflap.0 (22350) everything cleaned up
2024-06-15 09:32:15.075 - info: sureflap.0 (22350) terminating
2024-06-15 09:32:15.076 - warn: sureflap.0 (22350) Terminated (UNCAUGHT_EXCEPTION): Without reason
2024-06-15 09:32:15.497 - info: shelly.0 (4075) [authEnabled] 192.168.100.105 (shelly1 / shelly1-F4CFA2E5DB97 / SHSW-1#F4CFA2E5DB97#1): This device is not protected via restricted login (see adapter documentation for details)
2024-06-15 09:32:15.578 - info: sureflap.0 (22350) terminating
2024-06-15 09:32:16.137 - error: host.pi instance system.adapter.sureflap.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
2024-06-15 09:32:16.139 - info: host.pi Restart adapter system.adapter.sureflap.0 because enabled
2024-06-15 09:32:15.053 - error: sureflap.0 (22350) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
2024-06-15 09:32:15.054 - error: sureflap.0 (22350) unhandled promise rejection: undefined is not a valid state value
2024-06-15 09:32:15.059 - error: sureflap.0 (22350) Error: undefined is not a valid state value
at Object.maybeCallbackWithError (/opt/iobroker/node_modules/@iobroker/js-controller-common/build/lib/common/maybeCallback.js:35:17)
at Sureflap._setState (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/adapter.js:5446:49)
at Sureflap.setState (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/adapter.js:5406:21)
at Sureflap.setSureflapConnectToAdapter (/opt/iobroker/node_modules/iobroker.sureflap/main.js:1045:10)
at /opt/iobroker/node_modules/iobroker.sureflap/main.js:588:14
at new Promise (<anonymous>)
at Sureflap.getDeviceStatusFromData (/opt/iobroker/node_modules/iobroker.sureflap/main.js:575:39)
at /opt/iobroker/node_modules/iobroker.sureflap/main.js:312:21
2024-06-15 09:32:15.060 - error: sureflap.0 (22350) undefined is not a valid state valueKann mir da einer weiterhelfen? Lieben DANK
-
@snop007 said in Test Adapter sureflap v1.0.x GitHub:
Hallo, kann mir jemand helfen?
Ich versuche bereits die ganze Zeit mit verschiedenen Versionen den SureFlap Adapter V 2.1.1 zum laufen zu bekommen. Restart loop detection.
Hier mal ein Auszug:
2024-06-15 09:32:15.053 - error: sureflap.0 (22350) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
2024-06-15 09:32:15.054 - error: sureflap.0 (22350) unhandled promise rejection: undefined is not a valid state value
2024-06-15 09:32:15.059 - error: sureflap.0 (22350) Error: undefined is not a valid state value
at Object.maybeCallbackWithError (/opt/iobroker/node_modules/@iobroker/js-controller-common/build/lib/common/maybeCallback.js:35:17)
at Sureflap._setState (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/adapter.js:5446:49)
at Sureflap.setState (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/adapter.js:5406:21)
at Sureflap.setSureflapConnectToAdapter (/opt/iobroker/node_modules/iobroker.sureflap/main.js:1045:10)
at /opt/iobroker/node_modules/iobroker.sureflap/main.js:588:14
at new Promise (<anonymous>)
at Sureflap.getDeviceStatusFromData (/opt/iobroker/node_modules/iobroker.sureflap/main.js:575:39)
at /opt/iobroker/node_modules/iobroker.sureflap/main.js:312:21
2024-06-15 09:32:15.060 - error: sureflap.0 (22350) undefined is not a valid state value
2024-06-15 09:32:15.074 - info: sureflap.0 (22350) everything cleaned up
2024-06-15 09:32:15.075 - info: sureflap.0 (22350) terminating
2024-06-15 09:32:15.076 - warn: sureflap.0 (22350) Terminated (UNCAUGHT_EXCEPTION): Without reason
2024-06-15 09:32:15.497 - info: shelly.0 (4075) [authEnabled] 192.168.100.105 (shelly1 / shelly1-F4CFA2E5DB97 / SHSW-1#F4CFA2E5DB97#1): This device is not protected via restricted login (see adapter documentation for details)
2024-06-15 09:32:15.578 - info: sureflap.0 (22350) terminating
2024-06-15 09:32:16.137 - error: host.pi instance system.adapter.sureflap.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
2024-06-15 09:32:16.139 - info: host.pi Restart adapter system.adapter.sureflap.0 because enabled
2024-06-15 09:32:15.053 - error: sureflap.0 (22350) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
2024-06-15 09:32:15.054 - error: sureflap.0 (22350) unhandled promise rejection: undefined is not a valid state value
2024-06-15 09:32:15.059 - error: sureflap.0 (22350) Error: undefined is not a valid state value
at Object.maybeCallbackWithError (/opt/iobroker/node_modules/@iobroker/js-controller-common/build/lib/common/maybeCallback.js:35:17)
at Sureflap._setState (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/adapter.js:5446:49)
at Sureflap.setState (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/adapter.js:5406:21)
at Sureflap.setSureflapConnectToAdapter (/opt/iobroker/node_modules/iobroker.sureflap/main.js:1045:10)
at /opt/iobroker/node_modules/iobroker.sureflap/main.js:588:14
at new Promise (<anonymous>)
at Sureflap.getDeviceStatusFromData (/opt/iobroker/node_modules/iobroker.sureflap/main.js:575:39)
at /opt/iobroker/node_modules/iobroker.sureflap/main.js:312:21
2024-06-15 09:32:15.060 - error: sureflap.0 (22350) undefined is not a valid state valueKann mir da einer weiterhelfen? Lieben DANK
Hier noch ein Auszug aus dem Protokoll: sureflap.0
2024-06-15 13:53:25.050 error undefined is not a valid state value
sureflap.0
2024-06-15 13:53:25.049 error Error: undefined is not a valid state value at Object.maybeCallbackWithError (/opt/iobroker/node_modules/@iobroker/js-controller-common/build/lib/common/maybeCallback.js:35:17) at Sureflap._setState (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/adapter.js:5446:49) at Sureflap.setState (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/adapter.js:5406:21) at Sureflap.setSureflapConnectToAdapter (/opt/iobroker/node_modules/iobroker.sureflap/main.js:1045:10) at /opt/iobroker/node_modules/iobroker.sureflap/main.js:588:14 at new Promise (<anonymous>) at Sureflap.getDeviceStatusFromData (/opt/iobroker/node_modules/iobroker.sureflap/main.js:575:39) at /opt/iobroker/node_modules/iobroker.sureflap/main.js:312:21 at runNextTicks (node:internal/process/task_queues:60:5) at process.processImmediate (node:internal/timers:449:9)
sureflap.0
2024-06-15 13:53:25.043 error unhandled promise rejection: undefined is not a valid state value
sureflap.0
2024-06-15 13:53:25.042 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). -
Hi @snop007,
seltsam, anhand deines Logs sieht es so aus, als wenn deine Katzenklappe keinen lock mode gesetzt hat (undefined).
Das sollte es eigentlich nicht geben. Ich hab eine zusätzliche Abfrage ergänzt und geb eine Warning aus.
Bitte probier mal die neueste Version des Adapter im Expertenmodus direkt von github zu installieren:
https://github.com/Sickboy78/ioBroker.sureflap/
Und sag bitte Bescheid, ob das dein Problem behebt. -
Version 2.2.0 ist da und ich freue mich, dass ich endlich Zeit gefunden habe, ein Feature umzusetzen, dass schon sehr lange auf meiner Todo Liste stand: Konfiguration der Ausgangssperre über den Adapter. Über den Zustand control.current_curfew kann man nicht nur die aktuelle Ausgangssperre auslesen, sondern auch setzen. Das ganze geschieht im nachfolgenden JSON Format:[{"enabled":true|false, "lock_time":"xx:xx", "unlock_time":"xx:xx"}, ...]
Beispiel:
[{"enabled":true, "lock_time":"19:00", "unlock_time":"20:00"}]
würde eine Ausgangssperre von 19 bis 20 Uhr einrichten und aktivieren.
Für die Katzenklappe können so bis zu vier Zeiträume definiert werden, die Haustierklappe unterstützt leider nur einen Zeitraum. In der neuen App (und mit der neuen Api) können auch einzelne Zeiträume deaktiviert werden.
Beispiel:[{"enabled":true, "lock_time":"19:00", "unlock_time":"20:00"}, {"enabled":false, "lock_time":"21:00", "unlock_time":"22:00"}]
würde eine Ausgangssperre von 19 bis 20 Uhr einrichten und aktivieren und eine von 21 bis 22 Uhr einrichten aber deaktivieren.
Ein- und ausschalten der aktuell konfigurierten Ausgangssperre ist weiterhin möglich, der Zustand heißt jetzt allerdings control.curfew_enabled. Die Kanäle curfew und last_curfew und deren Zustände entfallen und werden durch den bereits erwähnten Zustand control.current_curfew sowie last_enabled_curfew ersetzt, beide im JSON Format.
Auch die Chronik wurde überarbeitet und steht nun ebenfalls im JSON Format unter history.json.0..x bereit. In der Konfiguration kann eingestellt werden, wie viele Ereignisse angezeigt werden (max. 25).
Die alte Chronik, die bei einigen zu hoher Last geführt hat, kann nach wie vor in der Konfiguration aktiviert werden, ist aber als veraltet markiert und wird in einer der nächsten Versionen entfernt. Wer also Skripte laufen hat, die auf die Zustände der alten Chronik zugreifen, sollte diese zeitnah auf die neuen JSON Zustände umstellen.
Außerdem habe ich intern noch einiges refactored und ein wenig aufgeräumt und die Abhängigkeiten aktualisiert.
Insgesamt sind es diesmal also recht umfangreiche Änderungen und speziell die Ausgangssperre konnte ich nur mit meiner Katzenklappe testen und nicht mit einer Haustierklappe.
Daher freue ich auf Feedback zu den neuen Features und ob alles funktioniert, wie es soll!English:
Version 2.2.0 is here and I'm pleased that I've finally found time to implement a feature that has been on my to-do list for a very long time: configuring the curfew via the adapter. Using the control.current_curfew state, you can not only read the current curfew, but also set it. For this, the following JSON format is used:
[{"enabled":true|false, "lock_time":"xx:xx", "unlock_time":"xx:xx"}, ...]
Example:
[{"enabled":true, "lock_time":"19:00", "unlock_time":"20:00"}]
would set and activate a curfew from 7 pm to 8 pm.
Up to four timespans can be defined for the cat flap; unfortunately, the pet flap supports only one. In the new app (and with the new Api), individual time periods can also be deactivated.
Example:[{"enabled":true, "lock_time":"19:00", "unlock_time":"20:00"}, {"enabled":false, "lock_time":"21:00", "unlock_time":"22:00"}]
would set up and enable a curfew from 7pm to 8pm and set up but disable one from 9pm to 10pm.
It is still possible to switch the currently configured curfew on and off, but the status is now called control.curfew_enabled. The curfew and last_curfew channels and their states have been removed and replaced by the aforementioned control.current_curfew and last_enabled_curfew states, both in JSON format.
The history has also been revised and is now also available in JSON format at history.json.0..x. The number of shown events can be set in the configuration (max. 25). The old history, which led to a high load for some users, can still be activated in the configuration, but is marked as deprecated and will be removed in one of the next versions. Therefore if you have scripts running that access the states of the old history, you should change them to use the new JSON states as soon as possible.
I have also refactored and tidied up a few things internally and updated the dependencies. All in all, there are quite extensive changes this time and I was only able to test the curfew with my cat flap and not with a pet flap.
So I'm looking forward to your feedback on the new features and whether everything works as it should! -
Version 2.2.0 ist jetzt stable und in Version 2.2.1 sind folgende neue Datenpunkte hinzugekommen:
Felaqua.water.fill_percent und last_filled_at
Surefeed.bowls.0|1.fill_percent, last_filled_at und last_zeroed_at.English:
Version 2.2.0 is now stable and version 2.2.1 added new datapoints:
Felaqua.water.fill_percent and last_filled_at
Surefeed.bowls.0|1.fill_percent, last_filled_at and last_zeroed_at. -
Version 2.2.1 ist jetzt stable und in Version 2.3.0 habe ich die API Aufrufe fehlertoleranter gemacht.
Unter anderem wird z.B. abgefangen, wenn einem Gerät ein Haustier zugeordnet ist, das aber bereits aus dem Haushalt gelöscht wurde.English:
Version 2.2.1 is now stable and in version 2.3.0 I have made the API calls more error-tolerant:
For example, pets that have already been deleted from the household, but are still assigned to a device, do not lead to an error anymore.