Discovergy - Werte per API auslesen

Homematic-, TCL- und Shell-Script, Toolchain, C, etc.

Moderator: Co-Administratoren

Antworten
DasMoritz
Beiträge: 25
Registriert: 03.02.2019, 16:05
Hat sich bedankt: 1 Mal

Discovergy - Werte per API auslesen

Beitrag von DasMoritz » 22.11.2020, 22:22

Hallo ins Forum,

es haben sich ja ein paar Foristen daran versucht, die Zählerwerte von Discovergy per API zu lesen - anscheinend war das wohl sehr kompliziert und nicht ganz zuverlässig.

Ich möchte einmal nachfragen ob es da evtl. etwas neues gibt?

Befehl: https://api.discovergy.com/public/v1/la ... xxxxxxxxxx
(ich muss mich dann noch einloggen)

Rückgabe:{"time":1606080059092,"values":{"phase2Power":336970,"energyOut":916462678000,"energy2":1015900965000,"energy1":2257024000,"phase1Power":163780,"power":594870,"phase3Power":94110,"phase1Voltage":235700,"energy":1018157990000,"phase2Voltage":234400,"phase3Voltage":236300}}

Hat jemand eine gute Idee wie man das Einloggen automatisieren kann und die Werte in Variablen speichern kann?

Danke,
Moritz

MichaelN
Beiträge: 9534
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 692 Mal
Danksagung erhalten: 1604 Mal

Re: Discovergy - Werte per API auslesen

Beitrag von MichaelN » 22.11.2020, 22:38

String zerlegen ist leicht, aber wie man den login macht weiß ich nicht
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Fonzo
Beiträge: 6673
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 478 Mal

Re: Discovergy - Werte per API auslesen

Beitrag von Fonzo » 22.11.2020, 22:49

DasMoritz hat geschrieben:
22.11.2020, 22:22
Hat jemand eine gute Idee wie man das Einloggen automatisieren kann und die Werte in Variablen speichern kann?
Wenn Du Dir nicht unbedingt selber was zurecht schreiben willst, kannst als eine fertige Lösung z.B. IP-Symcon und Discovergy Smartmeter Modul nutzten, das liest Dir alle Werte aus, loggt diese als Variable und man kann dann abhängig davon Homematic IP über eine CCU schalten.

Benutzeravatar
Black
Beiträge: 5460
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 417 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: Discovergy - Werte per API auslesen

Beitrag von Black » 23.11.2020, 08:27

Da ist sie ja schon die Werbung... Genauso sicher wie die Unterbrechungen in Fernsehfilmen....

@TO
das zerlegen des strings wäre nicht das Thema, die Authorisierung leider schon eher.

Alternativ:
Zu der oben wie immer ständing angepriesenen kostenpflichtigen Lösung gibt es natürlich alternativ auch kostenlose opensource middlewares, die für die Problemstellung descovergy einen fertigen Adapter anbieten.

Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

DasMoritz
Beiträge: 25
Registriert: 03.02.2019, 16:05
Hat sich bedankt: 1 Mal

Re: Discovergy - Werte per API auslesen

Beitrag von DasMoritz » 25.11.2020, 20:48

Moin,

bevor ich nun ganz andere Lösungen aufbaue die ich noch nicht im Einsatz habe:
Für die Steuerung von meinen Wallboxen werde ich obenWB einsetzen, openWB konnte ich erfolgreich auf einem virtuellen RPi installieren und die Daten von Discovergy abrufen.

Nun kann ich mittels API die Werte von der openWB und damit indirekt von Discovergy abrufen.
Abrufen tue ich mittels

Code: Alles auswählen

http://192.168.178.155/openWB/web/api.php?get=all
, der Rückgabewert ist folgendes:

Code: Alles auswählen

{"date":"2020:11:25-20:27:57","lademodus":"3","minimalstromstaerke":"6","maximalstromstaerke":"32","llsoll":"0","restzeitlp1":"--","restzeitlp2":"--","restzeitlp3":"--","gelkwhlp1":"0","gelkwhlp2":"0","gelkwhlp3":"0","gelrlp1":"0","gelrlp2":"0","gelrlp3":"0","llgesamt":"1","evua1":"0","evua2":"0","evua3":"0","lllp1":"1","lllp2":"1","lllp3":"1",[b]"evuw":"511"[/b],"pvw":"4","evuv1":"0","evuv2":"0","evuv3":"0","ladestatusLP1":"0","ladestatusLP2":"0","ladestatusLP3":"0","ladestartzeitLP1":"","ladestartzeitLP2":"","ladestartzeitLP3":"","zielladungaktiv":"","lla1LP1":"0","lla2LP1":"0","lla3LP1":"0","lla1LP2":"0","lla2LP2":"0","lla3LP2":"0","llkwhLP1":"0","llkwhLP2":"0","llkwhLP3":"0","evubezugWh":"123570","evueinspeisungWh":"131552","pvWh":"193457","speichersoc":"","socLP1":"0","socLP2":"0","speicherleistung":"","ladungaktivLP1":"0","ladungaktivLP2":"0","ladungaktivLP3":"0","chargestatLP1":"0","chargestatLP2":"0","plugstatLP1":"0","plugstatLP2":"0","restzeitlp1m":"0","restzeitlp2m":"0","restzeitlp3m":"0","lla1LP3":"0","lla2LP3":"0","lla3LP3":"0"}
Ich würde nun gerne mittels Homematic alle X Sekunden mittels API den Wert "evuw" auslesen.
Der Wert kann positiv als auch negativ sein und maximal 5 stellig werden.

Wie mache ich das idealerweise?

Vielen Dank,
Moritz

MichaelN
Beiträge: 9534
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 692 Mal
Danksagung erhalten: 1604 Mal

Re: Discovergy - Werte per API auslesen

Beitrag von MichaelN » 25.11.2020, 20:56

Alle X Sekunden? Würde ich von abraten. Das deine CCU dann zum Stillstand kommt ist durchaus nicht unwahrscheinlich.

Strings kannst du mit Split und foreach zerlegen.
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

DasMoritz
Beiträge: 25
Registriert: 03.02.2019, 16:05
Hat sich bedankt: 1 Mal

Re: Discovergy - Werte per API auslesen

Beitrag von DasMoritz » 25.11.2020, 21:19

Moin,

okay, Danke erstmal.
Ich muss mich da erstmal rein "fuchsen", unter welchem Begriff läuft das ganze per der Homematic, ist das ein Script?

Sorry, ich bin da bisher eher schmal unterwegs.

MichaelN
Beiträge: 9534
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 692 Mal
Danksagung erhalten: 1604 Mal

Re: Discovergy - Werte per API auslesen

Beitrag von MichaelN » 25.11.2020, 21:57

Ja, du brauchst ein Script dafür. Hast du Programmier Erfahrung?
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

alchy
Beiträge: 10744
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 671 Mal

Re: Discovergy - Werte per API auslesen

Beitrag von alchy » 26.11.2020, 07:59

Die Abfrage von Webbasierten Daten ist mittels HM-Script einfach über wget oder curl möglich.
Dazu wäre auch hier interessant, ob du dazu system.exec oder cuxd.exec verwenden willst.

Das Parsen der Rückgabe kann auf die unterschiedlichste Art erfolgen wie schon angesprochen. Der Warnung, so etwa snicht alle paar Sekunden durchzuführen, kann ich mich nur anschließen. Dann sorge einfach dafür, das die Daten zur CCU gesendet werden, statt das du sie von einem Webserver abholst.

und noch als Zwischenruf. Die API hat vielleicht noch anderen Aufruf der Daten wie "all". :?:

Alchy
suchworte

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Antworten

Zurück zu „Softwareentwicklung für die HomeMatic CCU“