SureFlap Haustierklappe

Begonnen von greuff, 09 Juni 2015, 17:35:57

Vorheriges Thema - Nächstes Thema

clumsy



der-Lolo

Hey - hab ich euch schon erzählt was ich sooo toll an FHEM finde..?
Viele sachen lösen sich wenn man die suche bemüht ;)

Es gibt also eine Katzenklappe die bereits in FHEM integriert ist.

Ich hab nur zwei kleine fragen -

1. muss die Verbindung im Internet sein, oder kann man den Hub direkt abfragen?
2. kann man den status des Stubentigers auch von Hand setzen, wenn er z.b. durch die Haus oder Terassen Tür seinen ausflug gestartet, oder beendet hat..?

clumsy

Zitat von: der-Lolo am 02 April 2022, 18:18:31
1. muss die Verbindung im Internet sein, oder kann man den Hub direkt abfragen?
2. kann man den status des Stubentigers auch von Hand setzen, wenn er z.b. durch die Haus oder Terassen Tür seinen ausflug gestartet, oder beendet hat..?

1. Geht im Moment leider nur via Internet, der HUB verwendet ein proprietäres und verschlüsseltes) Protokoll soweit ich herausgefunden habe.
2. Im Moment nur via App oder Web-Interface von Sureflap. Plan wäre jedohc bei gelegenheit auch die set Befehle zu implementieren, dann wäre das möglich....

der-Lolo

Hey Clumsy -
ich habe die SureFlap klappe eingebaut und in Betrieb genommen - der kleine Kater hat sie bereits angenommen und nutzt die "neue" Freiheit begeistert.
Ausserdem habe ich die klappe in FHEM integriert und mit ein Residents/Pets Device angelegt. Ein kleines DOIF pusht mir die Anwesenheits Info zum Pet Device.

Natürlich nutzt der kleine auch die möglichkeiten durch Haus und Terrassentür ins freie zu gelangen. Deswegen habe ich versucht folgende Anleitung für iOS Shortcuts umzusetzen - in der Küche steht nämlich ein Homepod mini. Ich wünschte mir sagen zu können "Hey Siri, Mietzi ist draussen"

Leider funktioniert das "drinnen und draussen" noch nicht so recht - was aber funktioniert ist "Hey Siri, wo ist Mietzi"
Falls es jemanden interessiert - hier die Anleitung dazu. Mir ist das zu komplex - ich vermute im Shortcut "set Pet Location" gibt es ein problem mit dem integrieren der zu setzenden Information.
Beim suchen nach Lösungen ist mir im github noch die umsetzung via php aufegfallen...

https://obyford.com/posts/shortcuts-for-surepet-cat-flap-connect/#using-shortcuts-with-homepod

https://github.com/alextoft/sureflap

setter für die SureFlap wären also immernoch schön zu haben ;)

Tausend Dank für die Integration und das bereitstellen der Lösung!


Flachzange

Hallo zusammen,

da wir neuerdings auch einen Vierbeiner samt Sureflap Katzenklappen haben, stellte sich natürlich auch die Frage nach der FHEM-Integration. Ich würde gerne an dieser Stelle auf einen alternativen Ansatz aufmerksam machen: Pethublocal (https://pethublocal.github.io/).

Der Autor hat im Prinzip den "Cloud"-Endpunkt von Surepetcare reverse engineered, der komplett lokal läuft und alle Anfragen des Hubs entgegennimmt. Die MQTT-Hub-Nachrichten werden darüber hinaus noch mit etwas Logik ergänzt und ebenfalls als MQTT-Topic bereitgestellt. Setter sollten ebenfalls per MQTT publish funktionieren, habe ich aber mangels Bedarf noch nicht ausprobiert.

Aus meiner Sicht die smarteste Lösung zur Einbindung dieser Geräte, da man sich komplett unabhängig macht und keine Verbindung nach draußen hat.

Wastegate

Guten Abend,

ich habe die Katzenklappe jetzt seit einem Jahr und nutze lediglich die Info Katzen drin oder drausen aus sf_dashboard.
Seit ein paar Tagen ist mir aufgefallen das FHEM jede Minute kurz blockiert wird wenn alle 60sec. Informationen per HTTPMOD aktualisiert werden.
Das ist ziemlich nervig da auf meinen Tablets immer eingeblendet wird das die verbindung zu FHEM unterbrochen wurde.
Um das zu Testen habe ich sf_dashboard disabled. Danach trat das Problem nicht mehr auf. OK, TabletUI umgebaut und die Infos aus sf_pet geholt. Geht auch super.
Allerdings hab ich durch das disablen im Log die Fehlermeldung das sf_dashboard sich nicht akualisieren kann.

2023.12.30 17:00:44 4: sf_dashboard: GetUpdate called (update)
2023.12.30 17:00:44 4: sf_dashboard: UpdateTimer called from GetUpdate with cmd next sets timer to call update function in 60.0 sec at 17:01:44.317, interval 60
2023.12.30 17:00:44 5: sf_dashboard: GetUpdate called but device is disabled
2023.12.30 17:00:44 3: sf_device: no parsed JSON structure available
2023.12.30 17:00:44 3: sf_pet: no parsed JSON structure available

Kann man das ganze so umbauen das ich nur sf_pet ohne sf_dashboard nutzen kann. Brauche definitiv nur die Info`s data_01_position_where und data_02_position_where.


Nogga

Zitat von: Wastegate am 30 Dezember 2023, 17:24:02Kann man das ganze so umbauen das ich nur sf_pet ohne sf_dashboard nutzen kann. Brauche definitiv nur die Info`s data_01_position_where und data_02_position_where.

Ich hatte schon damals als ich das Device angelegt hatte (keine Ahnung 2 Jahre her?) auf 1 einzelnes Device umgestellt, da ich auch nur die Drin/Draussen Meldung gebraucht habe.

Hier bitte meine Version - Anpassen auf Deine Werte musst Du aber selbst ;-)
Ich habe 2 Katzen registriert. Muss man also ggf. auch anpassen...

defmod sf_dashboard HTTPMOD https://app.api.surehub.io/api/me/start 60
attr sf_dashboard alias SureFlap Katzenklappe
attr sf_dashboard enableControlSet 1
attr sf_dashboard enableCookies 1
attr sf_dashboard extractAllJSON 1
attr sf_dashboard group Gateways
attr sf_dashboard reAuthAlways 0
attr sf_dashboard reAuthRegex .*(error|401).*
attr sf_dashboard replacement1Mode reading
attr sf_dashboard replacement1Regex %%household_id%%
attr sf_dashboard replacement1Value sf_dashboard:data_01_id
attr sf_dashboard replacement2Mode internal
attr sf_dashboard replacement2Regex %%uuid%%
attr sf_dashboard replacement2Value sf_dashboard:FUUID
attr sf_dashboard requestHeader1 Authorization: Bearer $sid
attr sf_dashboard requestHeader2 Content-Type: application/json
attr sf_dashboard room Informationen,Sensoren,SureFlap,System
attr sf_dashboard sid01Data {"email_address":"XXXX@XXXX.XX","password":"XXXX","device_id":"%%uuid%%"}
attr sf_dashboard sid01IdJSON data_token
attr sf_dashboard sid01URL https://app.api.surehub.io/api/auth/login
attr sf_dashboard sidHeader1 Content-Type: application/json
attr sf_dashboard sslArgs SSL_verify_mode,0
attr sf_dashboard stateFormat {\
my $bellaStatus = "unbekannt";;\
if (ReadingsVal("$name", "data_pets_01_position_where", "unknown") == 1) { $bellaStatus = "drin";; }\
if (ReadingsVal("$name", "data_pets_01_position_where", "unknown") == 2) { $bellaStatus = "draussen";; }\
\
my $paulStatus = "unbekannt";;\
if (ReadingsVal("$name", "data_pets_02_position_where", "unknown") == 1) { $paulStatus = "drin";; }\
if (ReadingsVal("$name", "data_pets_02_position_where", "unknown") == 2) { $paulStatus = "draussen";; }\
\
return \
"Batterie ist ".ReadingsVal("$name", "data_devices_02_status_battery", "-1")."V".\
" / Bella ist ".$bellaStatus.\
" / Paul ist ".$paulStatus;;\
}
attr sf_dashboard timeout 10

Wastegate

Super, danke für die etwas schlankere Version. Die ist vollkommen ausreichend.
Leider scheint mein FHEM nun an der Leistungsgrenze zu sein. Wenn alle 60 sec eine Abfrage läuft, Blockiert FHEM für die Dauer in der die Daten empfangen werden.(Thema HTTPMOD Blocking hab ich schon alles probiert)
Ich habe das ganze dann mit einer zweiten FHEM instanz auf der selben Hardware (Danke auch an Otto für die Verständliche Anleitung) gelöst. Funktioniert jetzt.