REST API
Moderator: Co-Administratoren
-
- Beiträge: 164
- Registriert: 12.01.2017, 23:33
- Danksagung erhalten: 4 Mal
REST API
Hallo,
weiß jemand ob die REST API der Cloud Lösung irgendwo Dokumentiert ist?
Ich habe zwar schon einges über einen Sniffer herausbekommen was der Client so macht, aber leider noch nicht alles.
Aktuell bastle ich gerade an einer kleinen app die mir eine ist/soll Temperaturstatistik erstellt, damit ich diese dann in einem Diagramm darstellen kann.
Und ja ich rede hier wirklich von der HomeMatic IP Lösung mit dem Access Point.
weiß jemand ob die REST API der Cloud Lösung irgendwo Dokumentiert ist?
Ich habe zwar schon einges über einen Sniffer herausbekommen was der Client so macht, aber leider noch nicht alles.
Aktuell bastle ich gerade an einer kleinen app die mir eine ist/soll Temperaturstatistik erstellt, damit ich diese dann in einem Diagramm darstellen kann.
Und ja ich rede hier wirklich von der HomeMatic IP Lösung mit dem Access Point.
Homematic IP mit Access Point - Python Modul: Programmieren mit dem Access Point
-
- Beiträge: 164
- Registriert: 12.01.2017, 23:33
- Danksagung erhalten: 4 Mal
Re: REST API
Falls wer interessiert ist habe ich begonnen einen python wrapper zu schreiben https://github.com/coreGreenberet/homematicip-rest-api
Nachdem ich es keine (offizielle) Dokumentation gibt, konnte ich leider nur mit den aktoren Anfangen die ich bereits angebunden habe.
Nachdem ich es keine (offizielle) Dokumentation gibt, konnte ich leider nur mit den aktoren Anfangen die ich bereits angebunden habe.
Homematic IP mit Access Point - Python Modul: Programmieren mit dem Access Point
Re: REST API
Hallo Greenberet,
das ist sensationell! Super Arbeit!
Ich hatte heute leider nicht viel Zeit mit das anzusehen. Bin auf Anhieb leider beim ConnectionRequest gescheitert und konnte mir kein AUTH_TOKEN holen. Eine paar kleine Tests haben ergeben, dass eq-3 mittlerweile die API-Version 8 verwendet und Version 7 nicht mehr akzeptiert wird (INVALID_CLIENT_VERSION). Die Versionsnummer auf 8 zu ändern hat leider erstmal nichts gebracht (INVALID_REQUEST).
Darf ich fragen, wie Du die Pakete mitschneidest? Dank SSL ist das ja nicht ganz so einfach. Nutzt Du Android oder iOS?
Ich hoffe, dass ich in den nächsten Tagen etwas beisteuern kann. Geforked ist es schonmal.
das ist sensationell! Super Arbeit!
Ich hatte heute leider nicht viel Zeit mit das anzusehen. Bin auf Anhieb leider beim ConnectionRequest gescheitert und konnte mir kein AUTH_TOKEN holen. Eine paar kleine Tests haben ergeben, dass eq-3 mittlerweile die API-Version 8 verwendet und Version 7 nicht mehr akzeptiert wird (INVALID_CLIENT_VERSION). Die Versionsnummer auf 8 zu ändern hat leider erstmal nichts gebracht (INVALID_REQUEST).
Darf ich fragen, wie Du die Pakete mitschneidest? Dank SSL ist das ja nicht ganz so einfach. Nutzt Du Android oder iOS?
Ich hoffe, dass ich in den nächsten Tagen etwas beisteuern kann. Geforked ist es schonmal.
-
- Beiträge: 164
- Registriert: 12.01.2017, 23:33
- Danksagung erhalten: 4 Mal
Re: REST API
danke =)
Version 8 wird mir eigentlich nur angezeigt wenn man auf "https://partner.homematic.com" verwiesen wird, allerdings geht Version 7 ohne Probleme bei mir. Der Android Client(das dürfte deine letzte Frage beantworten) verwendet aktuell auch Version 7.
Wo bekommst du "Invalid Request" ? innerhalb der Schleife? Wenn ja...das kann durchaus normal sein. Ich habe jetzt nicht im Kopf welche Meldung kommt, aber bis man vom Server ein "OK" bekommt(Blauer Button wurde gedrückt) bekommt man nur eine Fehlermeldung vom Server zurück. Je nach Serverlast können die Anfragen auf dem Server auch etwas dauern. Besonders Abends warte ich öfters 40 Sekunden bis etwas kommt.
Ich benutze "Charles" als SSL Sniffer im Moment. Der ist die ersten 30 Tage kostenlos und tut was er soll^^
Version 8 wird mir eigentlich nur angezeigt wenn man auf "https://partner.homematic.com" verwiesen wird, allerdings geht Version 7 ohne Probleme bei mir. Der Android Client(das dürfte deine letzte Frage beantworten) verwendet aktuell auch Version 7.
Wo bekommst du "Invalid Request" ? innerhalb der Schleife? Wenn ja...das kann durchaus normal sein. Ich habe jetzt nicht im Kopf welche Meldung kommt, aber bis man vom Server ein "OK" bekommt(Blauer Button wurde gedrückt) bekommt man nur eine Fehlermeldung vom Server zurück. Je nach Serverlast können die Anfragen auf dem Server auch etwas dauern. Besonders Abends warte ich öfters 40 Sekunden bis etwas kommt.
Ich benutze "Charles" als SSL Sniffer im Moment. Der ist die ersten 30 Tage kostenlos und tut was er soll^^
Homematic IP mit Access Point - Python Modul: Programmieren mit dem Access Point
Re: REST API
Danke! Das ist mir dann auch irgendwann aufgefallen. Es kommt bei mir, wenn man die SGTIN mit kleinen Buchstaben angibt. Ich habe das in meinem Repo schon geändert und Dir einen Pull-Request geschickt. Sorry, dass ich die Dateien re-formatiert habe, aber meine IDE (PyCharm von JetBrains) hatte alles nur noch rot angezeigt. Bin leider kein Python-Guru.Greenberet hat geschrieben: Version 8 wird mir eigentlich nur angezeigt wenn man auf "https://partner.homematic.com" verwiesen wird, allerdings geht Version 7 ohne Probleme bei mir. Der Android Client(das dürfte deine letzte Frage beantworten) verwendet aktuell auch Version 7.
Jetzt (mit API Version 7) bekomme ich INVALID_PIN. Wahrscheinlich weil ich eine PIN vergeben habe. Muss die Anmeldeprozedur mal mit Charles aufzeichnen. Auf Charles bin ich dann auch irgendwann gekommen. Danke!Wo bekommst du "Invalid Request" ?
-
- Beiträge: 7151
- Registriert: 31.12.2006, 15:18
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Rhein-Main
- Danksagung erhalten: 34 Mal
Re: REST API
Hi,
ich weiß nicht genau, wie das mit charles geht, ich nutze Fiddler, um in SSL-gesicherte Verbindungen auf dem PC reinzuschauen, setzt halt vorraus, das man das Fiddler-Root-Zertifikat des Proxies akzeptiert/installiert, und das ggf. die App Fiddler als Proxy nutzt. Fiddler kostet nichts, und hat auch keine 30 Tage Einschränkungen oder so.
Gutes Decoden,
Der Familienvater
ich weiß nicht genau, wie das mit charles geht, ich nutze Fiddler, um in SSL-gesicherte Verbindungen auf dem PC reinzuschauen, setzt halt vorraus, das man das Fiddler-Root-Zertifikat des Proxies akzeptiert/installiert, und das ggf. die App Fiddler als Proxy nutzt. Fiddler kostet nichts, und hat auch keine 30 Tage Einschränkungen oder so.
Gutes Decoden,
Der Familienvater
-
- Beiträge: 164
- Registriert: 12.01.2017, 23:33
- Danksagung erhalten: 4 Mal
Re: REST API
Ich habe die auth token generierung jetzt auch um eine PIN Abfrage erweitert.msowen hat geschrieben:Danke! Das ist mir dann auch irgendwann aufgefallen. Es kommt bei mir, wenn man die SGTIN mit kleinen Buchstaben angibt. Ich habe das in meinem Repo schon geändert und Dir einen Pull-Request geschickt. Sorry, dass ich die Dateien re-formatiert habe, aber meine IDE (PyCharm von JetBrains) hatte alles nur noch rot angezeigt. Bin leider kein Python-Guru.Greenberet hat geschrieben: Version 8 wird mir eigentlich nur angezeigt wenn man auf "https://partner.homematic.com" verwiesen wird, allerdings geht Version 7 ohne Probleme bei mir. Der Android Client(das dürfte deine letzte Frage beantworten) verwendet aktuell auch Version 7.
ist schon okay. mir gefallen 2 spaces als intend besser, aber laut PEP8 sollten es 4 sein..ich kann damit leben
Jetzt (mit API Version 7) bekomme ich INVALID_PIN. Wahrscheinlich weil ich eine PIN vergeben habe. Muss die Anmeldeprozedur mal mit Charles aufzeichnen. Auf Charles bin ich dann auch irgendwann gekommen. Danke!Wo bekommst du "Invalid Request" ?
@Familienvater:
Danke für den Tipp. Den werde ich mir gegebenenfalls mal ansehen.
Homematic IP mit Access Point - Python Modul: Programmieren mit dem Access Point
Re: REST API
Super, funktioniert! Danke!Greenberet hat geschrieben:Ich habe die auth token generierung jetzt auch um eine PIN Abfrage erweitert.
Re: REST API
Hallo Greenberet,
Absolut genial!
Ich komme aber nur leider bis zu einem "Could not get the current configuration. Error: CLIENT_VERSION_NOT_SUPPORTED".
-> Ich habe meinen Fehler gefunden ACCESS_POINT = '<SGTIN>' und nicht die "Client ID"
Danke Mattias
Absolut genial!
Ich komme aber nur leider bis zu einem "Could not get the current configuration. Error: CLIENT_VERSION_NOT_SUPPORTED".
-> Ich habe meinen Fehler gefunden ACCESS_POINT = '<SGTIN>' und nicht die "Client ID"
Danke Mattias
-
- Beiträge: 164
- Registriert: 12.01.2017, 23:33
- Danksagung erhalten: 4 Mal
Re: REST API
Ich mag es, wenn sich Probleme "von selbst" lösen =Dmwelp hat geschrieben:Hallo Greenberet,
Absolut genial!
Ich komme aber nur leider bis zu einem "Could not get the current configuration. Error: CLIENT_VERSION_NOT_SUPPORTED".
-> Ich habe meinen Fehler gefunden ACCESS_POINT = '<SGTIN>' und nicht die "Client ID"
Danke Mattias
Ich hoffe die API hilft dir weiter
Homematic IP mit Access Point - Python Modul: Programmieren mit dem Access Point