Modul für den Kostal PIKO Wechselrichter V2.0

Begonnen von John, 09 Juni 2014, 00:36:52

Vorheriges Thema - Nächstes Thema

John


Das Modul KOSTALPIKO ist seit 25.10.2014 Bestandteil von FHEM.
(die Zwischenversionen in diesem Thread wurden gelöscht)

Das alte Modul zum KostalPiko musste ich runderneuern.

Die Laufzeiten, waren bei schwachen Rechnern (Fritzbox+Co) mit mehreren Sekunden einfach zu lange,
so dass es bei anderen Geräten zu  Timeouts kam.

Die bisherigen Attribute und Parameter wurden nicht verändert.

Die Änderungen:

       
  • komplett neues Design durch nicht blockierende Aufrufe für die Web-Seiten und deren Analyse
  • neue Setter
  • statt Loglevel wird nun Verbose für die Log-Ausgaben verwendet
  • das Attribut disable wird nun unterstützt, so dass man das Modul nur zur Erfassung der Globalstrahlung verwenden kann, also ohne Piko
Die aktuelle Version wird stets in diesem ersten Beitrag abgelegt.

Weitere Informationen finden sich  auf der WIKI-Seite
http://www.fhemwiki.de/wiki/KostalPiko#FHEM-Modul

Der initiale Thread zum Thema findet sich hier
http://forum.fhem.de/index.php/topic,13508.0.html

Changes:

31.10.2017 V2.10  - support of https (Proplanta)
 

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

Heiner

funktioniert einwandfrei.
Ich empfehle von vorn herein Verbose auf 1 zu setzen da ohne den arameter recht viele Log-Eintraege einlaufen, die man aber vermutlich nur im Problemfall braucht.


Frage: Auf der Webzugriffsseite des Wechselrichters, erhaelt man auch Informationen zu den Sensoren. Da ich einen davon zur Temperaturmessung einsetzen moechte waere es toll wenn das  Kostalmodul in fhem diesen Sensor auch auslesen koennte. Geht das irgendwie?
Heiner
--------------------------------
fhem auf Pi3+
CUL 868MHz, Signalduino 434MHz, HM-CFG-USB
HM, THZ, Kostal, Somfy, Conbee, Pytonbinding, FritzBox, FTUI, MQTT2

SpenZerX

Hallo,

warum gibt es denn so ein Modul nicht für SMA Wechselrichter? (oder habe ich da etwas übersehen?)

Also holen der Daten über UDP Protokoll und Speedwire(Netzwerk) vom Wechselrichter.

Hat das technische Gründe? Oder weil es noch keiner Programmiert hat? Oder hat keiner so einen Wechselrichter?

MFG

John

CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

John

Hallo Heiner
ZitatFrage: Auf der Webzugriffsseite des Wechselrichters, erhaelt man auch Informationen zu den Sensoren. Da ich einen davon zur Temperaturmessung einsetzen moechte waere es toll wenn das  Kostalmodul in fhem diesen Sensor auch auslesen koennte. Geht das irgendwie?

Mir ist nicht ganz klar, welche Seite du meinst. Vermutlich die INFO-Seite mit den analogen Eingängen.
Ich selbst verwendet diese Eingänge derzeit nicht.

Vielleicht kannst du einfach mal ein Image davon hier reinstellen, damit klar wird was konkret du erfassen willst.

Grundsätzlich kann das Modul HTML-Inhalte analysieren, bewerten und die Ergebnisse als Readings einbinden.

Du kannst ja vielleicht selbst Hand anlegen und die gewünschte Erweiterung implementieren.
Der Werkzeugkasten  hierzu ist bestens vorbereitet.

Vermutlich ist damit getan eine 3. HTML-Seite zu parsen und die entsprechenden Readings zu realisieren.


John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

Heiner

Hi, ja richtig ich meine die Infoseite.

Bei den Einstellungen kann man die Eingänge konfigurieren als Sensoren oder Wirkleistungssteuerung.
Ich habe noch keinen Temperatursensor angeschaltet, würde aber gern falls wir das auslesen hier hinbekommen. Das wäre die einfachste Art Temperaturen zu messen, oder auch andere Werte wie Sonneneinstrahlung, Luftfeuchte oder Wind.

Dummerweise bin ich kein Programmierer und tu mich daher ein wenig schwer selbst den code zu erweitern.

ich sehe zwar in Zeile 322 das dort die Hauptseite "/index.fhtml" definiert ist. Hab aber keine Ahnung wie ich nun auch noch die Seite "/Info.fhtml" dazubekomme..... inklusive den dort befindlichen Readings ( "1. analoger Eingang:" bis "4. analoger Eingang:")

Muesste ich dafuer einfach die Subrutine "KOSTALPIKO_StatusHtmlAcquire" kopieren ? mit anderem Namen und Verweis auf Info.fhtml ? Das krieg ich vermutlich noch hin, aber den Aufruf hierfür????

##################################################
# acquires the html page of kostalpiko - Info-page
sub KOSTALPIKO_StatusHtmlAcquire2($)
{
   my ($hash)  = @_;
   my $name    = $hash->{NAME};
   
   return unless (defined($hash->{NAME}));
   
   my $err_log = '';
   my $delay = AttrVal( $name, "delay", 300 );
   
   my $URL =
     "http://" . $hash->{helper}{User} . ":" . $hash->{helper}{Pass} . "\@" . $hash->{helper}{Host} . "/info.fhtml";
     
   KOSTALPIKO_Log $hash, 4, "$URL";
   my $agent = LWP::UserAgent->new( env_proxy => 1, keep_alive => 1, timeout => 3 );
   my $header = HTTP::Request->new( GET => $URL );
   my $request = HTTP::Request->new( 'GET', $URL, $header );
   my $response = $agent->request($request);
   $err_log .= "Can't get $URL -- " . $response->status_line
     unless $response->is_success;

   if ( $err_log ne "" )
   {
      KOSTALPIKO_Log $hash, 1, $err_log;
      return "";
   }
   return $response->content;
}
#####################################


Und dann braucht man noch die while Schleife für die Werteabfrage der Seite richtig? Das wäre Zeile 454-512 ?



Heiner
--------------------------------
fhem auf Pi3+
CUL 868MHz, Signalduino 434MHz, HM-CFG-USB
HM, THZ, Kostal, Somfy, Conbee, Pytonbinding, FritzBox, FTUI, MQTT2

John

Hallo Heiner,
ich hab das mal in Version 2.01 versucht, die du im ersten Betrag findest.

4 neuen Readings (sensor.1..sensor.4) sollten erscheinen.

Bin gespannt, obs funktioniert.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

John

Man kann das Modul auch dazu missbrauchen die Globalstrahlung für den nächsten Tag zu erfassen.

Man muss nur das Attribut GR.Link von
http://www.proplanta.de/Wetter/<meineStadt>-Wetter-Heute.html

auf
http://www.proplanta.de/Wetter/<meineStadt>-Wetter-Morgen.html
ändern.

Die "Morgen"-Seite ist strukturell identisch zur "Heute"-Seite aufgebaut.

Der Wert erscheint im Reading Global.Radiation, ab es ist eben der Wert für den nächsten Tag.

John

CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

John

Mit Version 2.02 unterstützt KostalPiko
mit dem Readings

UV.Index - den UV-Index
sunshine.duration - die relative Sonnenscheindauer


der Seite

http://www.proplanta.de/Wetter/<meineStadt>-Wetter-Heute.html
bzw.
http://www.proplanta.de/Wetter/<meineStadt>-Wetter-Morgen.html

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

Heiner

Hallo,

Danke die Sensoren werden angezeigt. Ein Temp-fuehler ist bestellt, ich melde mich sobald ich das Ding da hab und es angeschlossen ist.


In deiner neuen Version stellst du ja auch den UV-Index da, super.

Meine Stadt innerhalb von Prolanta wird aber ueber einen anderen Link dargestellt als dein geforderter um die Globaleinstrahlung zu erhalten.

Ich wohne in Schweich und der richtige Link waere: http://www.proplanta.de/Wetter/profi-wetter.php?SITEID=60

Also nix mit <meine Stadt> und so. Hab aber noch nicht ausprobiert, bislang nutze ich "Mainz" in der von dir beschriebenen Art und das klappt, ist aber halt nicht exakt weil falsche Stadt.
Heiner
--------------------------------
fhem auf Pi3+
CUL 868MHz, Signalduino 434MHz, HM-CFG-USB
HM, THZ, Kostal, Somfy, Conbee, Pytonbinding, FritzBox, FTUI, MQTT2

cwagner

Hallo John,

toll, dass Du das Thema Globalstrahlung so fit eingebaut hast - mir ist allerdings aufgefallen, dass die Nachkommawerte beim Reading abgeschnitten werden (heute: Auf der Website 7.7, reading 7)

Herzliche Grüße

Christian
PI 2B+/3B+ Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

John

Hallo Christian,
danke für den Hinweise.
Fehler ist mit Version 2.03 gefixed.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

cwagner

PI 2B+/3B+ Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

John

CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

Heiner

Hallo,

die Wetterseiten haben entweder Ihren Inhalt geaendert oder es stimmt was anderes nicht. Ich lese dort aber unter Sonnenscheindauer einen % Wert. Das bedeutet dann sicherlich das soviel % der Tagesdauer zwischen Sonnenauf und Untergang die Sonne scheint.

Das Kostal modul zeigt aber die sunshine.duration einfach als Zahl. Koennte man diese irgendwie durch 100 Teilen und multiplizieren mit der Differenz aus "Sunset" und "Sunraise" Dann waere es wieder eine Duration.

Danke schon mal fuer den Hinweis wie man das erledigen koennte.
Heiner
--------------------------------
fhem auf Pi3+
CUL 868MHz, Signalduino 434MHz, HM-CFG-USB
HM, THZ, Kostal, Somfy, Conbee, Pytonbinding, FritzBox, FTUI, MQTT2