Enverbridge Daten auslesen

      22 Kommentare zu Enverbridge Daten auslesen

Die Enverbridge bietet leider keine einfache Möglichkeit direkt die Daten der Solaranlage abzugreifen. Im FHEM Forum gibt es Versuche einen Proxy zwischen die Enverbridge und das Envertech Portal zu schalten. Leider funktioniert das bisher nicht zuverlässig. Von daher habe ich nach einer Alternative gesucht wie ich die Daten in meine InfluxDB bekomme um sie mit Grafana auswerten zu können.

Durch Zufall habe ich herausgefunden das viele Solar Hardware Anbieter die gleiche Portalsoftware einsetzen. Auf Github gibt es Beispiel Scripte wie man die Daten für die eigene Anlage vom Portal auslesen kann.

Sanderjo Solarmanpv

Die URLs muss man auf das Envertech Portal anpassen und seine eigene PID angeben. Die PID steht oben in der URL wenn man sich am Portal angemeldet hat.

http://www.envertecportal.com/Terminal/TerminalMain.aspx?pid=1234

PID = 1234

Beispiel (alles in einer Zeile):

curl --silent --cookie-jar /tmp/cookies -o /dev/null 'http://www.envertecportal.com/Terminal/T
erminalMain.aspx?pid=1234' && curl --silent --cookie "ASP.NET_SessionId=`awk ' END { print \$NF }' /tmp/cookies`
"  'http://www.envertecportal.com/AjaxService.ashx?ac=upTerminalMain&psid=1234'

Hier mein Perl Script was die Daten ausliest und in die InfluxDB schreibt:

#!/usr/bin/perl

use strict;
use warnings;
use diagnostics;
use LWP::Simple;                # From CPAN
use JSON qw( decode_json );     # From CPAN
use Data::Dumper;               # Perl core module
use JSON::Parse 'parse_json';
use Encode qw(decode encode);

my $id=1234;
my $database="enverbridge";

my $response = qx(curl --silent --cookie-jar /tmp/cookies -o /dev/null 'http://www.envertecportal.com/Terminal/TerminalMain.aspx?pid=$id' && curl --silent --cookie "ASP.NET_SessionId=`awk ' END { print \$NF }' /tmp/cookies`"  'http://www.envertecportal.com/AjaxService.ashx?ac=upTerminalMain&psid=$id');

my $ref_hash = decode_json($response);

my $value;
foreach my $item(@{$ref_hash}){
	delete @{$item}{'co2', 'treesplanted', 'installer', 'commissioned', 'lasttime'};
	foreach my $key ( sort keys %{$item} ) {
		$value = encode('UTF-8',$item->{$key});
                $value =~ s/[^\x00-\x7f]//g;
		my @va = split ' ', $value;
		print "$key=$va[0]\n";
		system "curl --output /dev/null --silent -i -XPOST 'http://localhost:8086/write?db=$database' --data-binary '$key,tag=enverbrige value=$va[0]'";
	}

}

Diese Lösung funktioniert erstmal zuverlässig, ich werde aber weiter an der Proxy Lösung arbeiten da diese die Möglichkeit bietet auf die Cloud Anbindung zu verzichten.

Und so sieht es in Grafana aktuell aus:

22 thoughts on “Enverbridge Daten auslesen

    1. hemmi Post author

      Ich weiß aktuell von keinem fertigen Script aber es sollte problemlos möglich sein das Script auf die CCU2 zu portieren.

      Reply
    2. Krinke

      …….. && curl –silent –cookie „ASP.NET_SessionId=`awk ‚ END { print $NF > „Daten“}‘ /tmp/cookies`
      “ ‚http://www.envertecportal.com/AjaxService.ashx?ac=upTerminalMain&psid=1234‘

      Könnte ich mit diesem print-Befehl die Daten in eine Datei manes „date“ schreiben statt auf der Standardausgabe, dem Bildschirm?

      Reply
      1. hemmi Post author

        Ja sollte machbar sein. Welches Format muss denn die Datei haben? Geht es darum die Daten in die Homematic CCU2 zu importieren?

        Reply
        1. Krinke

          Genau ich möchte die Daten in die CCU2 importieren. Man könnte dann die geschriebene Datei mit einem Script auswerten unf die einzelnen Daten in Prozessvarablen schreiben.

          Reply
          1. hemmi Post author

            Es sollte sogar möglich sein über die XML API direkt Variablen in der CCU2 zu füllen. Wenn ich die Tage mal etwas Zeit habe schaue ich mir das mal genauer an.

          2. hemmi Post author

            Ich habe jetzt eine Version von meinem Script das System Variablen in der CCU2 mit den Werten füllt. Das Script werde ich jetzt ein paar Tage bei mir testen und wenn alles sauber funktioniert erstelle ich einen neuen Beitrag mit der kompletten Anleitung.

  1. Castor

    Lese seit Monaten stabil über einen RPI die Leistungsdaten von der Envertech Webseite, Danke für den Tip bzw. das Script.

    Reply
  2. Andreas Bonitz

    Hallo !
    Ich habe mir einen Enverbridge 202 zugelegt , bekomme diesen aber nicht Online . Kann mir einer Bitte das ganze in deutsche erklären was ich tun muss . In der Fritzbox wird dieser erkannt , das war es aber auch schon .

    Vielen Dank , Andreas

    Reply
    1. hemmi Post author

      Hallo Andreas,

      Im Grunde muss die Enverbridge nur an der gleichen Phase angeschlossen werden wie die Wechselrichter. Danach auf dem Portal von Envertech registrieren und die Seriennummer eingeben, dann sollte nach ein paar Minuten die Wechselrichter erscheinen. Was zeigt denn die Enverbridge auf ihrem Display an?

      Viele Grüße
      Michael

      Reply
  3. Andreas Bonitz

    Hallo ! Habe ich eigentlich auch alles schon so gemacht , aber die Seriennummern kann ich auf dem Portal überhaupt nicht eingeben .
    Anzeige Display
    192.168.178.93
    000W MI:00
    http://www.envertec.com
    ID:90013837

    Danke Andreas

    Reply
  4. Andreas Bonitz

    Hallo !
    Es wäre schön eine Step by Step Anleitung zu erstellen wie Ihr das mit dem Enverbridge gemacht habt . Angeschlossen ist dieser bei mir an einer Fritzbox . Da wird dieser auch aufgeführt aber Online ist er im Portal nicht . Habe schon vieles mit Computer und so gemacht , aber das hier ärgert mich ungemein .

    Vielen Dank Andreas

    Reply
    1. hemmi Post author

      Hallo Andreas,

      ich werde mal eine kurze Anleitung zusammen schreiben. Wenn alles klappt schaffe ich das heute noch.

      Viele Grüße
      Michael

      Reply
      1. Andreas Bonitz

        Hallo Michael !

        Ich Danke nochmals für die Mühe . Das gerät was ich habe ist ein altes Model und es müsste ein Softwareupdate gemacht werden . Das haben mir die Chinesen geschrieben , da ich Sie darauf hin angeschrieben habe wegen dem Problem . Das Update kann ich auch nicht ausführen , also schicke ich den Enverbridge an die Firma zurück und kaufe mir bei einem anderen Händler einen . Diesen Ebay Händler hatte ich übrigens auch darauf hin angeschrieben , aber mit Antworten wurde gegeizt . Vielleicht hat dieser Enverbridge doch eine Macke . Wenn ich das neue Gerät habe melde ich mich ob dann alles funktioniert .
        Bis dahin , vielen Dank Andreas

        Reply
  5. Andreas Bonitz

    Hallo Michael !
    Vielen Dank für diese Anleitung ! Werde es heute gleich nochmals versuchen und hoffe es klappt .

    Viele Grüße Andreas

    Reply
  6. Uwe

    Hat schon jemand eine Lösung wie man mit dem neuen Envertech-Portal EnverPortal 2.0 an die Daten der Enverbridge herankommt?

    Der Aufruf von http://www.envertecportal.com/AjaxService.ashx?ac=upTerminalMain&psid=xxxx liefert eine Chinesische Fehlermeldung, die ungefähr folgendes sagt:

    Serverfehler in der Anwendung „/“.
    Ressource konnte nicht gefunden werden
    Beschreibung: HTTP 404. Die Ressource, nach der Sie suchen (oder eine ihrer Abhängigkeiten), wurde möglicherweise entfernt oder der Name wurde geändert oder ist vorübergehend nicht verfügbar. Bitte überprüfen Sie die URL und vergewissern Sie sich, dass sie richtig geschrieben ist.

    Angeforderte URL: /AjaxService.ashx

    Reply
    1. hemmi Post author

      Die URL existiert nicht mehr da Envertec die Portal Software ausgetauscht hat. Die notwendigen URLs habe ich mittlerweile und in Postman funktioniert das abrufen. Leider gibt es noch Probleme im Script da funktioniert die Authentifizierung noch nicht um das Cookie zu bekommen was man benötigt um die Daten abzurufen.

      Reply

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.