Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter sureflap v3.2.0

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test Adapter sureflap v3.2.0

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      christianfeu @Sickboy78 last edited by christianfeu

      @sickboy78

      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.0

      Ich 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.

      IMG_1075.jpeg

      LOG-Auszug bei Neustart des Adapters:

      IMG_1076.jpeg

      Raspberry Info:

      IMG_1077.jpeg

      Sickboy78 1 Reply Last reply Reply Quote 0
      • Sickboy78
        Sickboy78 @christianfeu last edited by

        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:
        a7e965fe-d7e6-4606-a30d-16df7d6900e4-grafik.png

        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):
        117f9f3c-32b5-474a-b593-73549efdf931-grafik.png

        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

        C 1 Reply Last reply Reply Quote 0
        • C
          cooper2k4 @Sickboy78 last edited by

          @sickboy78

          Hier ist jetzt der Protokollauszug von Sureflap und SQL mit Silly Log-Level:

          2024-02-17 12:21:08.441  - debug: sureflap.0 (1266997) searching and removing of obsolete objects
          2024-02-17 12:21:08.442  - silly: sureflap.0 (1266997) deleting obsolete object 'Familie_K_____i.Katzenklappe.led_mode'
          2024-02-17 12:21:08.443  - silly: sureflap.0 (1266997) checking for object Familie_K_____i.Katzenklappe.
          2024-02-17 12:21:08.443  - silly: sureflap.0 (1266997) deleting obsolete object 'Familie_K_____i.Katzenklappe.control.led_mode'
          2024-02-17 12:21:08.443  - silly: sureflap.0 (1266997) deleting obsolete object 'Familie_K_____i.Katzenklappe.control'
          2024-02-17 12:21:08.444  - silly: sureflap.0 (1266997) deleting obsolete object 'Familie_K_____i.Katzenklappe.online'
          2024-02-17 12:21:08.445  - silly: sureflap.0 (1266997) deleting obsolete object 'Familie_K_____i.Katzenklappe.serial_number'
          2024-02-17 12:21:08.445  - silly: sureflap.0 (1266997) deleting obsolete object 'Familie_K_____i.Katzenklappe'
          2024-02-17 12:21:08.460  - silly: sureflap.0 (1266997) obsolete object 'Familie_K_____i.Katzenklappe.led_mode' not found
          2024-02-17 12:21:08.462  - debug: sureflap.0 (1266997) obsolete object Familie_K_____i.Katzenklappe.control.led_mode found. trying to delete ...
          2024-02-17 12:21:08.464  - debug: sureflap.0 (1266997) obsolete object Familie_K_____i.Katzenklappe.control found. trying to delete ...
          2024-02-17 12:21:08.465  - debug: sureflap.0 (1266997) obsolete object Familie_K_____i.Katzenklappe.online found. trying to delete ...
          2024-02-17 12:21:08.468  - debug: sureflap.0 (1266997) obsolete object Familie_K_____i.Katzenklappe.serial_number found. trying to delete ...
          2024-02-17 12:21:08.469  - debug: sureflap.0 (1266997) obsolete object Familie_K_____i.Katzenklappe found. trying to delete ...
          2024-02-17 12:21:08.515  - silly: 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  - silly: sql.0 (1266515) Objects user redis pmessage */cfg.o.sureflap.0.Familie_K_____i.Katzenklappe.online:null
          2024-02-17 12:21:08.522  - silly: 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  - silly: 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  - silly: sql.0 (1266515) States user redis pmessage */sureflap.0.Familie_K_____i.Katzenklappe.control.led_mode:null
          2024-02-17 12:21:08.531  - silly: 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  - silly: 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  - silly: sql.0 (1266515) States user redis pmessage */sureflap.0.Familie_K_____i.Katzenklappe.online:null
          2024-02-17 12:21:08.539  - silly: sql.0 (1266515) Objects user redis pmessage */cfg.o.sureflap.0.Familie_K_____i.Katzenklappe.control:null
          2024-02-17 12:21:08.541  - silly: sql.0 (1266515) States user redis pmessage */sureflap.0.Familie_K_____i.Katzenklappe.serial_number:null
          2024-02-17 12:21:08.542  - debug: sureflap.0 (1266997) obsolete object 'Familie_K_____i.Katzenklappe.control.led_mode' deleted
          2024-02-17 12:21:08.544  - silly: sql.0 (1266515) Objects user redis pmessage */cfg.o.sureflap.0.Familie_K_____i.Katzenklappe:null
          2024-02-17 12:21:08.546  - debug: sureflap.0 (1266997) obsolete object 'Familie_K_____i.Katzenklappe.online' deleted
          2024-02-17 12:21:08.549  - debug: sureflap.0 (1266997) obsolete object 'Familie_K_____i.Katzenklappe.control' deleted
          2024-02-17 12:21:08.551  - debug: sureflap.0 (1266997) obsolete object 'Familie_K_____i.Katzenklappe.serial_number' deleted
          2024-02-17 12:21:08.552  - silly: 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  - silly: 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  - silly: 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  - silly: sql.0 (1266515) Objects user redis pmessage */cfg.o.sureflap.0.Familie_K_____i.Katzenklappe.Katzenklappe:null
          2024-02-17 12:21:08.606  - silly: 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  - silly: 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  - silly: 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  - silly: 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  - silly: 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  - silly: 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  - info: sql.0 (1266515) disabled logging of sureflap.0.Familie_K_____i.Katzenklappe.Katzenklappe.battery
          2024-02-17 12:21:08.644  - silly: sql.0 (1266515) States user redis pmessage */sureflap.0.Familie_K_____i.Katzenklappe.Katzenklappe.battery:null
          2024-02-17 12:21:08.648  - silly: 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  - silly: 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  - info: sql.0 (1266515) disabled logging of sureflap.0.Familie_K_____i.Katzenklappe.Katzenklappe.battery_percentage
          2024-02-17 12:21:08.657  - silly: sql.0 (1266515) States user redis pmessage */sureflap.0.Familie_K_____i.Katzenklappe.Katzenklappe.battery_percentage:null
          2024-02-17 12:21:08.662  - silly: 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  - silly: 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  - silly: 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  - silly: 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  - silly: 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

          Sickboy78 1 Reply Last reply Reply Quote 0
          • Sickboy78
            Sickboy78 @cooper2k4 last edited by

            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

            C 1 Reply Last reply Reply Quote 0
            • C
              cooper2k4 @Sickboy78 last edited by

              @sickboy78

              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

              1 Reply Last reply Reply Quote 0
              • C
                christianfeu @Sickboy78 last edited by

                @sickboy78

                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

                Sickboy78 1 Reply Last reply Reply Quote 0
                • Sickboy78
                  Sickboy78 @christianfeu last edited by

                  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.

                  Sickboy78 1 Reply Last reply Reply Quote 0
                  • Sickboy78
                    Sickboy78 @Sickboy78 last edited by

                    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.

                    Sickboy78 1 Reply Last reply Reply Quote 0
                    • Sickboy78
                      Sickboy78 @Sickboy78 last edited by

                      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.

                      Sickboy78 1 Reply Last reply Reply Quote 0
                      • Sickboy78
                        Sickboy78 @Sickboy78 last edited by

                        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.

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          Snop007 @Sickboy78 last edited by

                          @sickboy78

                          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 value

                          Kann mir da einer weiterhelfen? Lieben DANK

                          S 1 Reply Last reply Reply Quote 0
                          • S
                            Snop007 @Snop007 last edited by

                            @snop007 said in Test Adapter sureflap v1.0.x GitHub:

                            @sickboy78

                            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 value

                            Kann 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().

                            Sickboy78 1 Reply Last reply Reply Quote 0
                            • Sickboy78
                              Sickboy78 @Snop007 last edited by

                              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.

                              Sickboy78 1 Reply Last reply Reply Quote 0
                              • Sickboy78
                                Sickboy78 @Sickboy78 last edited by

                                b83d65d4-0f1a-4d68-89cc-ded7b646e7f2-1662578346600-326e9e19-bdc1-40a1-9182-a80145331188-grafik.png
                                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!

                                Sickboy78 1 Reply Last reply Reply Quote 1
                                • Sickboy78
                                  Sickboy78 @Sickboy78 last edited by

                                  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.

                                  Sickboy78 1 Reply Last reply Reply Quote 0
                                  • Sickboy78
                                    Sickboy78 @Sickboy78 last edited by

                                    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.

                                    Sickboy78 1 Reply Last reply Reply Quote 0
                                    • Sickboy78
                                      Sickboy78 @Sickboy78 last edited by

                                      Anscheinend hat Surepetcare etwas an der API geändert, aktuell funktioniert die Positionsangabe der Tiere nicht, also
                                      pets.name.inside und pets.name.since.
                                      Weiterhin korrekt sind die Angaben unter pets.name.movement.* und können aktuell alternativ verwendet werden.
                                      Ich werde mir das anschauen, sobald ich Zeit habe.

                                      English:

                                      Apparently Surepetcare has changed something in the API and currently the position of the animals does not work, i.e.
                                      pets.name.inside and pets.name.since.
                                      The status under pets.name.movement.* is still correct and can currently be used as an alternative.
                                      I will have a look at this asap.

                                      Sickboy78 1 Reply Last reply Reply Quote 0
                                      • Sickboy78
                                        Sickboy78 @Sickboy78 last edited by Sickboy78

                                        Ich hab auf github einen Quickfix eingecheckt, der einen zusätzlichen Aufruf an die API macht, um die Position der Tiere abzufragen. Aber Achtung, Benutzung auf eigene Gefahr, der Fix ist quick und dirty. 😉
                                        Ich hoffe Suerpetcare ändert nicht noch mehr vor Weihnachten an der API und ich finde zwischen den Jahren die Zeit das ganze sauber zu implementieren.

                                        English:

                                        I pushed a quickfix to github with an additional call to the API to query the position of the pets. But beware, use at your own risk, the fix is quick and dirty 😉
                                        I hope Suerpetcare doesn't make any more changes to the API before Christmas and I find the time to implement it properly.

                                        S 1 Reply Last reply Reply Quote 0
                                        • S
                                          Stefi @Sickboy78 last edited by

                                          @sickboy78 Ganz lieben Dank für deine Arbeit 😊

                                          Ich scheine irgendwie kein Glück mit dem Adapter zu haben 😖
                                          Habe es heute endlich mal geschafft alles wieder auf den aktuellen Stand zu bringen und einen weiteren Versuch mit dem Adapter zu starten.

                                          Aber leider bekomme ich nach wie vor folgende Fehlermeldung (Version 2.3.2):

                                          2024-12-29 20:19:44.929	warn	Terminated (UNCAUGHT_EXCEPTION): Without reason
                                          2024-12-29 20:19:44.928	info	terminating
                                          2024-12-29 20:19:44.926	info	everything cleaned up
                                          2024-12-29 20:19:44.916	error	Cannot read properties of undefined (reading 'type')
                                          2024-12-29 20:19:44.915	error	TypeError: Cannot read properties of undefined (reading 'type') at Immediate.<anonymous> (/opt/iobroker/node_modules/iobroker.sureflap/main.js:2795:68) at process.processImmediate (node:internal/timers:485:21)
                                          2024-12-29 20:19:44.914	error	uncaught exception: Cannot read properties of undefined (reading 'type')
                                          2024-12-29 20:19:44.911	error	Cannot read properties of undefined (reading 'type')
                                          2024-12-29 20:19:44.909	error	TypeError: Cannot read properties of undefined (reading 'type') at Immediate.<anonymous> (/opt/iobroker/node_modules/iobroker.sureflap/main.js:2795:68) at process.processImmediate (node:internal/timers:485:21)
                                          2024-12-29 20:19:44.905	error	uncaught exception: Cannot read properties of undefined (reading 'type')
                                          2024-12-29 20:19:43.040	info	update loop started
                                          

                                          Ergebnis von iob info

                                          Platform       : docker
                                          os             : linux
                                          Architecture   : arm64
                                          CPUs           : 4
                                          Speed          : 1500 MHz
                                          Model          : Cortex-A72
                                          RAM            : 3.7 GB
                                          System uptime  : 06:02:15
                                          Node.js        : v20.18.1
                                          time           : 1735500303144
                                          timeOffset     : -60
                                          NPM            : 10.8.2
                                          adapters count : 553
                                          dockerInformation: [object Object]
                                          Disk size      : 112.8 GiB
                                          Disk free      : 68.6 GiB
                                          

                                          Docker Image Version: docker (official image - v9.1.2)

                                          Habe es auch mit der Adapter Version v2.3.1 versucht, ebenfalls ohne Erfolg.

                                          Ich habe zur Sicherheit den Adapter bzw. die Instanz gelöscht und auch die verwaisten Nodes entfernt. Anschließend Instanz neu installiert, neu verbunden - leider selbes Ergebnis.

                                          Habt ihr einen Tipp für mich, was ich noch prüfen/tun kann?

                                          Liebe Grüße und besten Dank! 😊

                                          Sickboy78 1 Reply Last reply Reply Quote 0
                                          • Sickboy78
                                            Sickboy78 @Stefi last edited by

                                            Hallo @stefi ,
                                            kannst du bitte mal die Ausgabe vom Adapter auf debug stellen und mir das gesamte Log vom Start bis zum Fehler kopieren?

                                            S 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            799
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            17
                                            149
                                            17486
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo