Discovergy API

Hallo,

hat zufällig irgendjemand schon seinen Discovergy-Smartmeter in IP-Symcon integriert? Ich habe lediglich einen alten Thread gefunden. Die API ist relativ simpel, aber eventuell hat sich damit ja schonmal jemand beschäftigt?

Danke

würde mich auch interessieren

ich schliesse mich an … habe auch Interesse daran :wink:

nutzt den keiner die API Schnittstelle von denen?
Ist hier beschrieben.

Discovergy API Documentation

Komme leider nicht mit dem OAuth Verfahren klar :confused:

habe neulich auch OAuth eingerichtet, hat kurze Zeit funktioniert

musst du dir den OAuth Token (ClientID) anfordern und dann neues WebOAuth-Modul installieren, ClientID hinzufügen und mit Script verbinden

Es macht aber insgesamt mehr Sinn wenn derjenige der bereits ein OAuth Token hat dann auch ein Modul bastelt. Wenn dann jeder wieder ein OAuth Token anfordert ist das ja auch nicht Sinn der Sache, genau dafür ist ja OAuth und Account Linking da, das sich IP-Symcon dann grundsätzlich authentifizieren kann.

auch ein Modul bastelt

ja, damit wollte ich nicht so direkt kommen

Hallo Zusammen,

in der API Doku geht es mit diesen Infos zur Client Registrierung los.

Client registration

To prepare for API access, first register your client application to obtain a consumer token.
Request

POST /public/v1/oauth1/consumer_token
Accept: text/html, image/gif, image/jpeg, *; q=.2, /; q=.2
Content-Type: application/x-www-form-urlencoded

client=MyOwnClient

Damit habe ich php-mäßig schon ein Problem. Wie geht das?

In IPS habe ich die Kern-Instanz „WebOAuth“ gefunden. Kommt die hier zur Anwendung?

Ich möchte den Zähler sehr oft Abfragen (ich dachte an sekündlich). Oder gibt es eine andere Möglichkeit die Meßdaten präzise für z.B. den ganzen Tag abzufragen (zwecks Chart-Anzeige).

Axel37
habe neulich auch OAuth eingerichtet, hat kurze Zeit funktioniert

musst du dir den OAuth Token (ClientID) anfordern und dann neues WebOAuth-Modul installieren, ClientID hinzufügen und mit Script verbinden 

Warum war das so? Ich dachte man holt sich die ID mit dem og. Request einmalig und nutzt diese dann. Oder muss man sich jedesmal eine neue ID ziehen?

Das hängt vom OAuth Verfahren ab ob V 1 oder V2 und welche Authentifizierung genutzt wird. Kommt ein Bearer Token zum Einsatz dann erneuert sich dieser meist regelmäßig. Ein PHP Modul was OAuth nutzt holt den Bearer Token aber selbstständig ab da muss sich der User nicht darum kümmern. Wird OAuth2 benutzt? Wenn von Euch schon jemand einen OAuth Token besitzt sollte er das einfach mit einem PHP Modul mit einem Clientsocket zur Verfügung stellen. Dann könnt ihr zumindest im Debug Fenster des Client Sockets sehen ob Daten bei IP-Symcon ankommen. Das ganze könnt ihr dann erst mal mit Skripten verarbeiten und wenn das funktioniert dies später im PHP Modul ergänzen.

Es ist OAuth V1.

Das verstehe ich leider nicht (-> Newbie auf diesem Gebiet). Ich habe mal den Entwurf den ein befreundeter PHP-Programmierer und ich gemacht haben angehängt. Im Skript 17747 „3_Authorize request token“ sind Benutzerdaten von Discovergy notwendig. Im Skript 46171 „1_Client Registration“ haben wir einen Client-Namen definiert. Wenn ich Fonzo richtig verstehen, hier vermutlich schon der erste Fehler, oder? (Aber wie bringt man IPS dazu dies „automatisch“ zu machen?).

Zu den Skripten:
Zur besseren Analyse der erhaltenen Daten gehen wir Schritt für Schritt gemäß der API-Doku vor und speichern die Daten im JSON-Format zwischen. Die Schritte 1-4 funktionieren (wir erhalten einen Token). Aber in Schritt 5 gibt es dann einen Fehler… und leider keine Daten.

Discovergy_API.zip (143 KB)

Moin,

ich wollte nochmal nach fragen, gibt es inzwischen schon eine Lösung? Hab ich da was übersehen?

Michael

Nein, keine Lösung. - Das von mir gepostete Material und der Java-Beispiel-Code sollten einem Programmier-Profi aber in die Lage versetzen eine Lösung zu bekommen. - Wenn ich mal viel Zeit und Ruhe habe versuche ich es auch nochmal…

Also bei mir läuft das Discovergy-Modul fehlerfrei. Läuft es bei euch nicht oder habt ihr es übersehen?

Beschreib mal bitte was Du mit Modul meinst und was bei Dir funktioniert!? :slight_smile:

[Modul] Discovergy Smartmeter