FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: mheiker am 11 August 2021, 00:23:22

Titel: Sureflap Connect
Beitrag von: mheiker am 11 August 2021, 00:23:22
Hallo zusammen,

seit einiger Zeit bin ich auf der Suche nach einer Möglichkeit, den Status einer Katzenklappe Sureflap Connect abzufragen.

Hat da jemand bereits Erfahrung mit gesammelt?

Grüße! Mathias
Titel: Antw:Sureflap Connect
Beitrag von: ronny332 am 04 Juni 2022, 17:45:52
Hi Mathias,
falls du noch suchst, ich hatte das gleiche Problem. Scheinbar gab es nichts, daher hab ich mich mal selber rangesetzt.

https://github.com/ronny332/Petcare (https://github.com/ronny332/Petcare)

Es ging mir erst darum nur den Klappen Status in Alexa abfragen zu können. Nun sind auch die Klappen Details im FHEM Interface, ebenso kann man den Zustand ändern (FHEM oder Alexa, Google Assistant etc. natürlich auch, wenn es an FHEM anzubinden ist).
Titel: Antw:Sureflap Connect
Beitrag von: paul79 am 05 März 2023, 13:46:47
Hallo,
ich denke ich habe jetzt alles soweit richtig eingerichtet aber leider steht nichts in den Dummys von FHEM drin.

pi@PI41:/opt/fhem/Petcare $ DEBUG=petcare:* npm start

> Petcare@0.0.1 start
> node dist/index.js

  petcare:config read user configuration +0ms
  petcare:flap:login login token +0ms
  petcare:interval new interval 'device status' 300000ms +0ms
  petcare:flap:login login token +129ms
  petcare:interval new interval 'online status' 60000ms +6ms
  petcare:flap:login login token +6ms
  petcare:interval new interval 'state' 30000ms +6ms
  petcare:main started +0ms
  petcare:server server @:6924 +0ms
  petcare:flap:device flap device status +0ms
  petcare:flap:device flap device status +10ms
  petcare:flap:state flap state closed +0ms
  petcare:flap:state flap state closed +30s
  petcare:flap:device flap device status cached +1m
  petcare:flap:state flap state closed +30s
  petcare:flap:state flap state closed +30s
  petcare:flap:device flap device status +1m
  petcare:flap:state flap state closed +30s
  petcare:flap:state flap state closed +30s
  petcare:flap:device flap device status cached +1m
  petcare:flap:state flap state closed +30s
  petcare:flap:state flap state closed +30s



Ich habe kein Alexa aber der Dummy ist angelegt, woran könnte es liegen?

Gruß Paul
Titel: Aw: Sureflap Connect
Beitrag von: fireball am 03 August 2024, 16:30:49
Hi,

falls noch Interesse besteht, ich habe es gerade mit einem HTTPMOD umgesetzt.
Einfach melden... der Fred ist ja schon mega alt.
VG
René
Titel: Aw: Sureflap Connect
Beitrag von: scooty am 03 August 2024, 17:01:12
Hi René,
klar besteht Interesse, immer her mit Deiner Lösung.
 :)

Andreas
Titel: Aw: Sureflap Connect
Beitrag von: fireball am 06 August 2024, 17:13:48
Moinsen,

also nachdem ich das halbe Netz nach div. Modulen durchsucht hatte bin ich auf diese Seite gekommen:
GIT zu nem JAVA Project (https://github.com/openhab/openhab-addons/blob/43d35538d5395dbe20929bd26145216d25593171/bundles/org.openhab.binding.surepetcare/src/main/java/org/openhab/binding/surepetcare/internal/SurePetcareAPIHelper.java#L71)

Da habe ich also ein paar Anregungen geholt, mit Postman durchgetestet und dann das ganze in eine HTTPMOD gepackt.

1. Also der Account muss bei Sureflap.io vorhanden sein.
2. man braucht nur UserID/Password und die DeviceID
3. die ganzen URLs die in dem Projekt erwähnt werden, sind mMn überflüssig, weil man bei der Haupt-URL ein großes JSON mit alles :) zurück bekommt. Hier kann man natürlich durch die anderen URLs noch ein bisl Daten eindampfen (siehe meine GET1-3), aber die sind nur zum Spielen und müssen nicht ausgeführt werden oder hinzugefügt werden.

Achtung, da alle JSON die zurückgeliefert werden mit data anfangen, überschreibt man sich die Daten immer wieder, man sollte also bei einer Main-URL bleiben.

Zur Info noch:
Main-URL ist https://app.api.surehub.io/api/me/start
Anmelde-URL ist https://app.api.surehub.io/api/auth/login

Also definiert man sich ein HTTPMOD mit
define Katzenklappe HTTPMOD https://app.api.surehub.io/api/me/start 300
und fügt dann folgende Attribute hinzu
Attributes:
   enableControlSet 1
   enableCookies 1
   event-on-change-reading .*
   extractAllJSON 1
   get01CheckAllReadings 0
   get01ExtractAllJSON 0
   get01Header01 Authorization: Bearer $sid
   get01Header02 Content-Type: application/json, Accept: application/json
   get01Name  Kami
   get01URL   https://app.api.surehub.io/api/pet/xxxPETIDxxx
   get02ExtractAllJSON 0
   get02Header01 Authorization: Bearer $sid
   get02Header02 Content-Type: application/json, Accept: application/json
   get02Name  Geräte
   get02URL   https://app.api.surehub.io/api/device
   get03ExtractAllJSON 0
   get03Header01 Authorization: Bearer $sid
   get03Header02 Content-Type: application/json, Accept: application/json
   get03Name  Status
   get03URL   https://app.api.surehub.io/api/pet/?with[]=status&with[]=photo
   httpVersion 1.1
   icon       dog_silhouette
   reAuthRegex .*401.*
   replacement01Mode key
   replacement01Regex %%Katzenklappe_Secret%%
   replacement01Value Katzenklappe_Secret
   room       GARAGE
   showBody   0
   showError  1
   sid1Data   {"email_address":"xxxEMAILxxx","password":"%%Katzenklappe_Secret%%","device_id":"xxxDEVICEIDxxx"}
   sid1Header1 Content-Type: application/json
   sid1Header2 Accept: application/json
   sid1IdJSON data_token
   sid1URL    https://app.api.surehub.io/api/auth/login
   stateFormat Maui: data_pets_01_position_where Kami: data_pets_02_position_where
   verbose    0

Dann sollte man noch das Password im Secret Katzenklappe_Secret speichern.
Die SID Attribute holen das JW-Token von der Anmeldung und dann wird die Main-URL nochmal abgefragt.
Kommt dann ein großes JSON zurück.

Kleiner TIPP: Wenn man alles neu hat, gibts noch keine Readings für data_pets_01_position_where, also wo die Katze grade ist.
Entweder muss mabb das über die Webseite einmal manuell setzen oder die Katze durch die Lucke schicken :P

Ich habe mir jetzt noch keine Mühe gemacht, irgendwas mit SET zu bauen, dass geht bestimmt einfacher über die APP oder WEB, aber die Abfrage ist schonmal cooler Anfang... leider aber nur ONLINE, nicht OFFLINE...

VG
René