Einbindung Discovergy in FHEM

Da ich es grade für jemanden rausgesucht hatte, hier einmal ein kurzes Snippet für die Einbindung Discovergy zu FHEM

defmod di2r HTTPMOD https://USER:PASSWORD@api.discovergy.com/public/v1/last_reading?meterId=METERID 10
attr di2r userattr reading01JSON reading01Name reading02JSON reading02Name reading03JSON reading03Name
attr di2r event-min-interval 300
attr di2r reading01JSON values_energy
attr di2r reading01Name energy
attr di2r reading02JSON values_energyOut
attr di2r reading02Name energyOut
attr di2r reading03JSON values_power
attr di2r reading03Name power
attr di2r room Dashboard,Photovoltaik,Stromzähler
attr di2r stateFormat {sprintf("%.f W", ReadingsVal($name,"power",0)/1000)}

USER=User des Logins beim Discovergy Portal (bei mir ist das meine Email)

PASSWORD=Das dazugehörige Passwort, leider im Klartext, keine andere Möglichkeit bei der derzeitigen DGY API (@API_DGY: Es wäre super, wenn man hier einen TOKEN generieren könnte, ähnlich Github, Passwörter im Klartext finde ich persönlich sehr sehr unschön :slight_smile: )

METERID=Findet Ihr unter https://api.discovergy.com/public/v1/meters als jeweils ersten Parameter des Zählers (login ebenfalls mit user/password)

4 Like

Hallo @FosCo,
vielen Dank für die tolle Dokumentation!

Allerdings kannst Du mir noch erklären, wofür die „10“ hinter der MeterID steht?
Herzliche Grüße aus der Eifel

Hi @Eifel-Holger die 10 ist Teil des httpmod Moduls in fhem.
Normal wird alle 60sec aktualisiert, da ich mein live Widget damit betreibe hab ich es auf 10sec gestellt.

@API_DGY wenn euch das zu häufig ist, Dreh ich es gerne runter oder halt auch im frohen neuen Jahr +1 für was lokales :sunglasses:

1 Like

Super - vielen Dank für die schnelle Antwort - ist bei mir seit heute im Einsatz :+1:

Gern!
Mein nachgebautes Widget sieht inzwischen so aus.
Die Tagessumme kommt vom WR, der Rest von discovergy:

1 Like

Wie muss ich in USER das @ maskieren?

Du kannst das Attribut requestHeader verwenden mit „Authorization: Basic HASHVALUE“, wobei HASHVALUE Base64 encoded „mail:passwort“ ist. Ich mag keine Klartext-Passwörter im fhem :wink:

Erstellen lässt sich der base64-String wie z.B. hier beschrieben: Basic Authentication (Encode Credentials to Base 64) | API Connector

Irgendwie ging das auch auf der bash, aber im Javascript ist es noch einfacher im Browser mit den Dev-Tools.

Danke für die schnelle Antwort. Nun funktioniert es.

1 Like