NEWS
Fresh Energy / Discovergy Stromzähler Smartmeter
-
Hallo AI3x,
das selbe Vorhaben (Problem? Herausforderung?) habe ich auch gerade:
Wie bekomme ich die aktuellen Werte meiner Discovergy-Zähler auf meinen MQTT-Server übertragen?
Ich habe zwei Discovergy-Zähler installiert (einen Zweirichtungszähler für Bezug/Einspeisung und einen "einfachen" Zähler für PV-Erzeugung). Ziel ist dann, über MQTT in openHAB (oder/und Homematic) in Abhängigkeit der aktuellen Einspeisung bestimmte Aktionen ausführen zu lassen.
Wie weit bist Du denn mit Deinen php-Skripten gekommen? Könntest Du die Skripte hier zur Verfügung stellen?
Danke und herzliche Grüße!
-
Hi,
das Script ist soweit fertig. Ich nutze es derweil um die Daten an IOBroker MQTT Server zu pushen.
Wenn du interesse hast meld dich einfach.
Für das Script benötigst du nur die Anmeldedaten von Discovergy.
Gruß
-
Hallo AI3x!
Interesse - meld!
Leider bin ich hier im Forum noch Neuling, so dass ich noch keine PM verschicken kann. Kannst Du Dein Skript hier im Forum veröffentlichen? Bspw. alle php-Dateien als zip-Datei gepackt???
DANKE und viele herzliche Grüße aus Berlin,
Chris
-
Ich kann dir leider auch keine PN zurück schreiben,
hier also mein vorgehen:
1. Alle Dateien des Repository runterladen. https://github.com/andig/discovergy
2. discovergy.json erstellen mit folgenden Werten````
{
"clientid": "discovergy-example",
"identifier": "",
"secret": "",
}3\. example.php aufrufen und entsprechend anpassen. Ich habe zusätzlich noch eine mqtt Classe eingebunden. Folglich sieht man Code jetzt so aus:
#!/usr/bin/php
require_once(DIR . '/vendor/autoload.php');
$client = new MQTTClient("mqtt","localhost",1884);
$client->connect();
use Discovergy\ApiClient;
$api = new ApiClient();
$json = $api->call('meters');
$meter0 = sprintf('%s_%s', $json[0]['type'], $json[0]['serialNumber']);
$time = strtotime(date('Y-m-01 00:00:00'));
$json = $api->call('statistics', [
'meterId' => $meter0,
'from' => $time * 1e3
]);
$energy = $json['energy']['maximum'] - $json['energy']['minimum'];
$energy = $energy / 10000000000;
$energy = round($energy,2);
$kosten = ($energy * 25.96);
$kosten = $kosten / 100;
$kosten = $kosten + 6.42;
$kosten = round($kosten,2);
while(1) {
$client->publish("Strom-kwh",0,"n",$energy);
$client->publish("Strom-kosten",0,"n",$kosten);
$client->publish("Strom-time",0,"n",time());
sleep(1);
};?>
Ganz minimalistisch und ohne Fehlerbehandlung… Solltest du noch Fragen haben, am besten hier!
-
Cool
Mein Zähler von Fresh Energy wurde gerade eingebaut.
Wie kommst du den an die Daten von Discovergy? Wo kann ich mich da anmelden?
Bin ja eigentlich Kunde von Fresh Energy.
Gruss Danyel
-
Einfach ein kostenloses Konto bei Discovergy anlegen und dem Support deine Zählernummer mitteilen.
So hab ich es damals gemacht. Innerhalb von 6 h hatte ich den Zähler dann drin.
-
Danke! Werde das mal probieren.
-
Leider bekomme ich keinen api Zugang von fresh energy. Antwort vom Support war das bieten sie nicht mehr an und empfehlen mir das ich mich bei Conradconnect.de anmelden soll weil da würde es einen Adapter für geben.
Und nun?
edit
Zugang heute doch bekommen. Freundlich aber bestimmt nachfragen hilft
-
Ich werde mich heute Abend mal dran setzten und versuchen mit deiner Anleitung was hin zu bekommen.
Seh das ja richtig das ich auf meinem nuc dann noch webserver/php installieren muss oder reicht das php auf dem nas im gleichen Netzwerk ?
Wie mach ich das mit dem deamon?
Was muss ich hier ausfüllen?
"clientid": "discovergy-example", "identifier": "", "secret": "", }
Wo bekomme ich clientid, identifier, oder secret her?
Danke schon mal für deine Hilfe
Gruss Danyel
-
Hast du den API Zugang von FreshEnergy oder von Discovergy?
"identifier" ist deine email adresse
"secret" ist dein passwort welches du zum login bei der api benötigst.
du brauchst keinen webserver installieren… php-cli reicht vollkommen aus.
Gruß
P.S. Bin gerade dabei einen richtigen Discovergy-Adapter zu schreiben...ich denke ich brauche aber noch ein weilchen.
-
Ich habe den api Zugang von Discovergy bekommen.
-
@AI3x:P.S. Bin gerade dabei einen richtigen Discovergy-Adapter zu schreiben…ich denke ich brauche aber noch ein weilchen. `
Da bin ich gespannt und bin fast schon am überlegen ob ich das nicht einfach abwarte [emoji6]
Wenn du nen beta tester brauchst kannst du dich gerne bei mir melden
Gruß
-
Leider funktioniert es bei mir immer noch über ein MQTT Script.
Dafür bekomme ich jetzt aber zuverlässig Werte.
Stromkosten aktuell in Euro:
Stromkosten berechnet für Monatsende:
kWh im aktuellen Verbrauchsmonat:
Wundert euch nicht über die Namensgebung…ist derweil immer noch nur zum testen.
Hier für euch nochmals eine Schritt für Schritt Anleitung:
- 1. php-cli, composer und git installieren````
sudo apt-get install php-cli git composer
````
- 2. Code von Git holen````
git clone https://github.com/AI3x/discovergy.git
````
- 3. discovergy.json ändern (Hier einfach eure Discovergy Daten eingeben)
- 4. Composer ausführen um alle Abhängigkeiten zu holen (Im Discovergy Verzeichnis ausführen)````
sudo composer install
````
- 5. test.php ausführen````
php test.php
````
Jetzt sollten eure Daten an IOBroker MQTT Server gepusht worden sein.
Das Script könnt Ihr jetzt per crontab -e alle x Minuten ausführen lassen.
Denkt dran, der Code ist wirklich Quick & Dirty. Ich hoffe ich schaffe es bald per JA einen Adapter zu schreiben.
8723_screen.png - 1. php-cli, composer und git installieren````
-
gibt es noch die moeglichkeit mit diesem script mehr als diese werte aus zu lesen ?
Ich wuerde am liebsten die RAW daten des jetzigen zaehlerstandes haben