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 (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 (http://forum.fhem.de/index.php/topic,13508.0.html)
Changes:
31.10.2017 V2.10 - support of https (Proplanta)
John
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?
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
Hi SpenZerX,
es scheint schon einiges zu geben zum Thema siehe:
http://www.fhemwiki.de/wiki/SMAWechselrichter (http://www.fhemwiki.de/wiki/SMAWechselrichter)
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
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 ?
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
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
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
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.
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
Hallo Christian,
danke für den Hinweise.
Fehler ist mit Version 2.03 gefixed.
John
Hallo John,
passt! Vielen Dank
Christian
@Heiner
Also ich hab folgenden funktionierenden Link gefunden
http://www.proplanta.de/Wetter/Schweich+%28Mosel%29-Wetter-Heute.html (http://www.proplanta.de/Wetter/Schweich+%28Mosel%29-Wetter-Heute.html)
John
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.
Hallo Heiner,
das war schon immer die relative Sonnenscheindauer.
Die Prozent habe ich bewusst eliminiert, damit man besser rechnen kann und dieses Reading direkt
innerhalb von UserReadings einsetzen kann.
ZitatDas 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.
Das sollte doch mit UserReadings möglich sein.
John
Hallo zusammen,
hat schon jemand Erfahrungen mit den neuen Kostal Wechselrichtern?
Ich bekommen mit dem Modul keine Daten.
Verbindung scheint aber zu funktioren. Hier mal ein Auschnitt aus dem Logfile
2014.08.27 11:04:06 3: KOSTALPIKO Kostal: PIKO_StatusTimer.705 --- started ---
2014.08.27 11:04:06 3: KOSTALPIKO Kostal: PIKO_StatusStart.456 --- started ---
2014.08.27 11:04:06 3: KOSTALPIKO Kostal: PIKO_StatusStart.487 --- done ---
2014.08.27 11:04:06 3: KOSTALPIKO Kostal: PIKO_StatusTimer.718 --- done ---
2014.08.27 11:04:06 3: KOSTALPIKO Kostal: PIKO_StatusRun.502 --- started ---
2014.08.27 11:04:06 4: KOSTALPIKO Kostal: PIKO_StatusHtmlAcquire.424 http://pvserver:pvwr@192.168.10.177/index.fhtml
2014.08.27 11:04:06 4: KOSTALPIKO Kostal: PIKO_SensorHtmlAcquire.394 http://pvserver:pvwr@192.168.10.177/Info.fhtml
2014.08.27 11:04:07 3: KOSTALPIKO Kostal: PIKO_StatusRun.541 --- done ---
2014.08.27 11:04:07 1: CallBlockingFn: Can't connect to localhost:
Danke schon mal für Eure Hilfe
Hallo Zusammen,
seit dieser Woche bin ich nun auch Stromproduzent ;-),
im Einsatz habe ich ein Kostal Pico 10.1, im fhem nach dem wiki Eintrag konfiguriert
und habe leider keine readings - im Webinterface komme ich manuell drauf.
Vielleicht kann mir jemand helfen?
Herzliche Grüße aus der Eifel
Holger
Hallo Holger,
die Kostal-Gemeinde ist relativ klein, so dass du wohl selbst eine Lösung suchen und gestalten musst.
Im bestehenden Modul sind grundlegende Themen gelöst und es bietet sicher eine gute Basis für die Weiterentwicklung.
Wenn du keine Erfahrungen im Programmieren hast, liegt eine steile Lernkurve vor dir.
Wenn doch, sollte der Aufwand überschaubar sein.
Das Modul analysiert den HTML-Code der Kostal-Seite nach bestimmten HTML-Tags und -Contents und weiss aufgrund des strukturellen
Aufbaus, wo die entsprechenden Werte zu finden sind.
Diese Struktur hat sich wohl im neuen Kostal-Piko geändert, entsprechend muss das aktuelle Modul angepasst werden.
John
Hallo John,
da sehe ich fast schwarz, aber mal schauen!
Wenn ich das Modul so ohne großen Sachverstand interpretiere, wird die HTML Seite des Wechselrichters
zeilenweise durch gearbeitet und in die Reading Variablen eingetragen.
Um nun besser die Unterschiede feststellen zu können, wäre es hilfreich eine
funktionierende HTML Seite der "alten" Firmware des Wechselrichters zu haben,
um einfach besser vergleichen zu können.
Hätte ich die Chance eine solche von einem Forenmitglied zubekommen ?
Einen schönen Sonntagabend zusammen
Holger
Da bin ich nochmal,
habe gerade was mit set Befehlen gespielt und bei "CaptureKostalData" waren alle readings da ,-))
Aber dies passiert leider nur bei manueller Betätigung, das Delay Attribut 60 ist irgendwie wirkungslos bei mir! Hat einer einen Tipp für mich?
Einen schönen Abend
Holger
Hi Holger,
erst mal die Antwort zum vorigem Posting, in dem du nach der alten HTML.Datei fragst.
Anbei die Datei.
Toll dass du dich der Sache selbst annimmst. Ich versuch dich weiterhin zu begleiten.
John
Zitat von: deune am 07 September 2014, 20:08:36
Da bin ich nochmal,
habe gerade was mit set Befehlen gespielt und bei "CaptureKostalData" waren alle readings da ,-))
Aber dies passiert leider nur bei manueller Betätigung, das Delay Attribut 60 ist irgendwie wirkungslos bei mir! Hat einer einen Tipp für mich?
Einen schönen Abend
Holger
Setz mal Attribut verbose auf 5 warte 5 Minuten und stell den Logauszug hier rein.
John
Hallo John,
Vielen Dank für Deine Hilfe, ich habe verbose 5 eingetragen und im Eventmonitor taucht nix auf.
Sieht wirklich so aus, als ob das Modul steht, wenn es Software gibt?
Wenn ich es manuell auslöse, steht folgendes im Monitor:
2014-09-07 21:50:28 KOSTALPIKO Wechselrichter.1 captureKostalData
2014-09-07 21:50:28 KOSTALPIKO Wechselrichter.1 Mode: Aus
2014-09-07 21:50:28 KOSTALPIKO Wechselrichter.1 ModeNum: 0
2014-09-07 21:50:28 KOSTALPIKO Wechselrichter.1 generator.1.current: 0
2014-09-07 21:50:28 KOSTALPIKO Wechselrichter.1 generator.1.voltage: 0
2014-09-07 21:50:28 KOSTALPIKO Wechselrichter.1 generator.2.current: 0
2014-09-07 21:50:28 KOSTALPIKO Wechselrichter.1 generator.2.voltage: 0
2014-09-07 21:50:28 KOSTALPIKO Wechselrichter.1 generator.3.current: 0
2014-09-07 21:50:28 KOSTALPIKO Wechselrichter.1 generator.3.voltage: 0
2014-09-07 21:50:28 KOSTALPIKO Wechselrichter.1 output.1.voltage: 0
2014-09-07 21:50:28 KOSTALPIKO Wechselrichter.1 output.2.voltage: 0
2014-09-07 21:50:28 KOSTALPIKO Wechselrichter.1 output.3.voltage: 0
2014-09-07 21:50:28 KOSTALPIKO Wechselrichter.1 W: 0 - Aus
Liebe Grüße aus der Eifel
Holger
Hallo Holger
ZitatVielen Dank für Deine Hilfe, ich habe verbose 5 eingetragen und im Eventmonitor taucht nix auf.
Da hast du verbose noch falsch verstanden.
Das hat nichts mit dem Event-Monitor zu tun, sondern mit dem Log-file von FHEM (Menü: Logfile)
Hier müsste in Abhängigkeit vom Attribut delay zyklisch ein Eintrag erfolgen.
John
Hallo John,
Ich dachte, daas das Log die Mitschrift ist vom Event Monitor, ich habe nun gesehen das es deutlich mehr ist!
Aber ein regelmäßiger Eintrag vom Modul Kostal ist nicht zu finden, der letzte Eintrag ist der manuelle Start von gestern Abend.
Herzliche Grüße
Holger
Da bin ich nochmal,
Im Anhang ist ein Screenshot von dem Logeintrag und ich habe versucht
mit einem at- Befehl der Sache ein wenig "Nachdruck" zu verleihen,
Aber das hat auch nicht funktioniert.
Liebe Grüße
Holger
Hallo John,
vielen Dank für Deine Kostal.html Datei, ich habe diese heute Abend Zeile für Zeile abgeglichen und meine ist wiedererwarten exakt identisch.
Woran könnte es liegen, dass das Attribut delay nicht funktioniert? - Mein fhem läuft auf einem Ubuntu PC. ?
Herzliche Grüße aus der Eifel
Holger
Hi Holger,
dann ist ja die gute Nachricht, dass das Modul auch beim neuen Kostal PIKO die Werte auslesen kann.
Grundlegende Fragen:
1. Ist dein FHEM auf aktuellem Stand ?
2. Welche Version von KostalPiko-Modul verwendest du ?
3. sende das Ergebnis von folgendem Befehl : list <DeinKostal>
John
Hallo Holger,
noch ein Thema:
"KOSTALPIKO_StatusTimer" wird über einen InteralTimer aufgerufen, der bereits bei der Definition des Moduls initialisiert wird
(KOSTALPIKO_Define).
D.h du solltest im LogFile (verbose mindestens 3 oder grösser) wenigsten 1x nach dem Starten von FHEM den Output dieser Anweisung sehen
KOSTALPIKO_Log $hash, 3, "--- started ---";
Das sollte dann etwa so aussehen:
2014.09.08 21:44:26 3: KOSTALPIKO Kostal: PIKO_StatusTimer.705 --- started ---
2014.09.08 21:44:26 3: KOSTALPIKO Kostal: PIKO_StatusStart.456 --- started ---
2014.09.08 21:44:26 3: KOSTALPIKO Kostal: PIKO_StatusStart.487 --- done ---
2014.09.08 21:44:26 3: KOSTALPIKO Kostal: PIKO_StatusTimer.718 --- done ---
Ist das der Fall ?
Hallo John,
viel Dank für die vielen Tipps,
zu 1. - ja das letzte Update war innerhalb der letzten Woche, ich habe aber vorsichtshalber nochmal eins gemacht.
zu 2. - die Version 2.03 - aus dem ersten Beitrag diesen Treads.
zu 3. das Ergebnis aus List Wechselrichter.1
Internals:
DEF 192.168.69.31 pvserver pvwr
NAME Wechselrichter.1
NR 338
STATE W: 0 - Aus
TYPE KOSTALPIKO
VERSION 2.03
Readings:
2014-09-08 20:18:01 AC.Power 0
2014-09-08 20:18:01 AC.Power.Fast 0
2014-09-08 20:18:01 Daily.Energy 29.92
2014-09-08 21:29:59 EnergyExpected 29.484
2014-09-08 21:29:59 Global.Radiation 5.4
2014-09-08 20:18:01 Mode Aus
2014-09-08 20:18:01 ModeNum 0
2014-09-08 18:52:50 Total.Energy 99
2014-09-08 21:29:59 UV.Index 6
2014-09-08 20:18:01 generator.1.current 0
2014-09-08 20:18:01 generator.1.voltage 0
2014-09-08 20:18:01 generator.2.current 0
2014-09-08 20:18:01 generator.2.voltage 0
2014-09-08 20:18:01 generator.3.current 0
2014-09-08 20:18:01 generator.3.voltage 0
2014-09-08 20:18:01 output.1.power 0
2014-09-08 20:18:01 output.1.voltage 0
2014-09-08 20:18:01 output.2.power 0
2014-09-08 20:18:01 output.2.voltage 0
2014-09-08 20:18:01 output.3.power 0
2014-09-08 20:18:01 output.3.voltage 0
2014-09-08 19:36:24 sensor.1 0.00
2014-09-08 21:29:44 sensor.2 0.00
2014-09-08 21:29:44 sensor.3 0.00
2014-09-07 20:00:03 sensor.4 9.99
2014-09-08 20:18:01 state W: 0 - Aus
2014-09-08 21:29:59 sunshine.duration 75
Helper:
GRHour 25
Host 192.168.69.31
Pass pvwr
TimerGR Wechselrichter.1.GR
TimerStatus Wechselrichter.1.STATUS
User pvserver
delayCounter 0
Attributes:
GR.Interval 60
GR.Link http://www.proplanta.de/Wetter/Mechernich-Wetter-Heute.html
delay 60
room Energie
userReadings EnergyExpected:Global.Radiation {return ReadingsVal ("Wechselrichter.1","Global.Radiation",0)*52*0.105;}
verbose 5
Ich schau nun mal ins Log - wegen des Starteintrags - mal schauen!
Herzlichen Gruß
Holger
Hallo John,
nach einem shutdown restart ist kein Kostal Eintrag im Log zu finden!
Holger
Hi Holger,
ich glaub ich hab das Ei gefunden.
kannst du deinen Kostal bitte umbenennen, so dass im Namen kein Punkt mehr vorkommt.
z.B. Wechselrichter01 (sollte mit rename funktionieren)
Ich verwende den Punkt als Separator im Timer-Namen.
John
Hallo John,
perfekt das war's, heute Morgen wird der Wechselrichter regelmäßig und ohne mein Zutun abgefragt!
Ganz herzlichen Dank für Deine Hilfe!
Herzliche Grüße aus der Eifel
Holger
Hallo
Ich möchte das Modul auch nutzen. Habe alles wie im wiki beschrieben durchgeführt. Jedoch bekomme ich, wenn ich die Grafik angezeigt bekommen will "Cannot read ./www/gplot/wl_Kostal.File_1.gplot" und "Cannot read ./www/gplot/wl_Kostal.File_2.gplot" angezeigt und keine Grafik. Was muss ich machen, dass die gpolt Dateien angelegt werden.
Ich danke im voraus
Hallo ich habe das gleiche Problem wie maddy!
Gibt es schon ein Hilfestellung?
Was muss im Ploteditor eingetragen werden?
Hört sich ansonsten sehr gut an die Lösung. Danke für die reingesteckte Arbeit.
@Bulli und @madday
das WIKI ist an dieser Stelle für Anfänger nicht klar zu verstehen. Ich werde das ändern.
Die Log-Datei sollte ja vorhanden sein.
In der FHEM-Darstellung des Objektes FileLog findet sich der Link zu "Create SVG plot"
Damit öffnet sich der Plot-Editor. Hier Einstellungen wie im angefügten Bild erstellen und speichern.
Damit ist der Chart erstellt.
John
PS: hab das Wiki dahingend angepasst.
Hallo John,
vielen Dank - hat einwandfrei funktioniert - ich bin auch noch sehr unsicher in dem Umgang mit den gplot files.
Liebe Grüße
Holger
Vielen Dank,
hatte es zwischenzeitlich aber auch alleine hinbekommen, nur vergessen es zu posten.
Lesen bildet!
Hallo,
ist das Modul auch für den Batteriespeicherwechselrichter KostalPiko BA verwendbar? Im Prinzip ist es ja ein modifizierter Piko bei dem der 3. Strang von der Batterie gespeist wird.
Gruß Jannik
Hallo Jannik,
warum probierst du das Modul nicht einfach aus und siehst dir das Ergebnis an.
Wenn alles klappt , gib uns hier Bescheid.
Wenn nicht schick den HTML-Code deiner Seiten, dann sehen wir weiter. (Browser/Seiten-Quelltext)
John
@all - KostalPiko-User
KostalPiko ist nun Bestandteil und offizielles Modul von FHEM.
Dank an alle die durch Anwendung und Hinweise bei der Entwicklung mitgeholfen haben.
John
Hallo John,
ich bin seit 1 Woche auch Besitzer eines Kostal 10 WR. Auf der Batterieseite gibt es auch Hinweise zum aktuellen Hausverbauch.
Netzbezug usw. Es wäre doch toll, wenn mann wüsste ob ich aktuell Strom vom Netzanbieter beziehe oder nicht. Mann könnte folglich eine entsprechende Schaltung mit z.b. Homematikmodulen aufbauen.
Anbei findest du eine Bild von dem WR.
Ich bin leider in der Programmierung von Fhem Modulen nicht der Profi.
Hallo horsepower,
funktionieren den die bisher verfügbaren Funktionen von KostalPiko auf deinem Kostal 10 WR ?
John
Hallo John,
die integrierten Funktionen arbeiten super. Ich speicher die Daten in einer Mysql Datenbank ab und kann sie so entsprechend weiterverarbeiten. Da ich mit meiner PV Anlage den Eigenverbrauch größtmöglich abdecken will, möchte ich natürlich auch die Daten vom integrierten BA Sensor auslesen wollen. So könnte ich je nach Stromangebot von der PV Anlage, entsprechende Geräte mittels Homematicmodulen Schalten (Waschmaschine, Entfeuchter usw.). Dazu bräuchte mann aber die Daten vom aktuellen Hausverbrauch.
Hallo horsepower,
ich will die Komplexität der Aufgabe abschätzen.
Dazu benötige ich.
* den HTML-Quellcode der Seite die auszuwerten ist (Browser, Seite im Quelltext speichern)
* die URL mit der du die Seite aufrufst. (z.B hat die Seite Info du URL. http://<IP vom Kostal>/Info.fhtml)
John
Hallo John,
die URL zur Seite ist http://<IP vom Kostal>/BA.fhtml
Hier der Seitenquelltext
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta name="Generator" content="ChrisB">
<title>PV Webserver</title>
</head>
<body nof="(MB=(DefaultMasterborder, 65, 60, 150, 10), L=(HomeLayout, 700, 600))" bgcolor="#EAF7F7" text="#000000" link="#0033CC" vlink="#990099" alink="#FF0000" topmargin=0 leftmargin=0 marginwidth=0 marginheight=0>
<table cellspacing="0" cellpadding="0" width="800" nof="ly">
<tr valign="top" align="left">
<td height="5" width="190"></td>
<td></td>
</tr>
<tr align="left" valign="top">
<td height="55"></td>
<td colspan="2" width="600">
<font face="Arial,Helvetica,Geneva,Sans-serif,sans-serif" size="+3">
PIKO 10
<br><font size="+1">
Kostal (255)
</font>
</font>
<td colspan="1" width="50"><img alt="Logo" height="42" width="130" src="KSE.gif"></td>
</tr>
</table>
<table border="0" width="100%">
<tr>
<td width="150"></td>
<td> <hr> </td>
</tr></table>
<font face="Arial,Helvetica,Geneva,Sans-serif,sans-serif">
<table border="0" width="100%">
<tr>
<td height="30" width="150"></td>
<td>
<font size="+1"><U>Batterie
</u></font></td>
</tr><tr>
<td width="150"></td>
<td width="280" height="35" align="right">Ladezustand:</td>
<td><b>0.0%</b></td>
</tr><tr>
<td width="150"></td>
<td width="280" height="35" align="right">Spannung:</td>
<td><b> 0V</b></td>
</tr><tr>
<td width="150"></td>
<td width="280" height="35" align="right">Ladestrom:</td>
<td><b> 0.00A</b></td>
</tr><tr>
<td width="150"></td>
<td width="280" height="35" align="right">Temperatur:</td>
<td><b> 0.0°C</b></td>
</tr><tr>
<td width="150"></td>
<td align="right" height="35" width="280">Zyklenanzahl:</td>
<td><b>0</b></td>
</tr><tr>
<td height="50" width="150"></td>
<td>
<font size="+1"><u>Hausverbrauch
</u></font></td>
</tr><tr>
<td width="150"></td>
<td height="35" width="280">Deckung des Hausverbrauches aus:</td>
</tr><tr>
<td width="150"></td>
<td align="right" height="35" width="280">Solargenerator:</td>
<td><b> 0.0W</b></td>
</tr><tr>
<td width="150"></td>
<td align="right" height="35" width="280">Batterie:</td>
<td><b> 0.0W</b></td>
</tr><tr>
<td width="150"></td>
<td align="right" height="35" width="280">Netz:</td>
<td><b> 0.0W</b></td>
</tr><tr>
<td width="150"></td>
<td height="35" width="280">Phasenselektiver Hausverbrauch:</td>
</tr><tr>
<td width="150"></td>
<td align="right" height="35" width="280">Phase 1:</td>
<td><b> 0.0W</b></td>
</tr><tr>
<td width="150"></td>
<td align="right" height="35" width="280">Phase 2:</td>
<td><b> 0.0W</b></td>
</tr><tr>
<td width="150"></td>
<td align="right" height="35" width="280">Phase 3:</td>
<td><b> 0.0W</b></td>
</tr><tr>
<td width="150"></td>
<td align="right" height="35" width="280"></td>
</tr>
</table>
</font>
<hr><br>
<table align="left"><tbody><tr><td width="160"> </td><td>
<font face="Arial,Helvetica,Geneva,Sans-serif">  
 <a href="index.fhtml"> Zurück zur Hauptseite </a>
 
</font></td></tr></tbody></table>
</body></html>
Hallo horsepower,
ich denke das Thema ist überschaubar.
Die nächsten Wochen beschäftigen mich noch andere Aufgabe, die Realisierung wird also noch etwas dauern.
Ich gehe davon aus, daß du dann als Tester zur Verfügung stehen wirst.
Bevor ich mit der Arbeit an der Erweiterung beginne, werde ich dich nochmals kontaktieren.
Kannst du dir vorstellen das Projekt KOSTALPIKO darüber hinaus zu unterstützen ?
Offene Arbeitspunkte:
- Aktualisieren der Wiki-Seite durch die neuen Features
- Nachführen der Command-Ref aufgrund neuer Funktionen
- Übersetzung der Command-Ref ins Deutsche
- Übersetzung des Wiki-Artikels ins Englische
- Mitarbeit am Modul als Co-Entwickler
John
Hallo John,
ich bin gespannt auf deine Erweiterung. Gerne würde ich Euch unterstützen.
Hallo horsepower,
ich dank dir für deine Unterstützung.
Welchen der offenen Punkte darf ich für dich reservieren ?
John
Hallo John,
ich denke, ich könnte die Beschreibung des Moduls im Wiki übernehmen.
Hallo John,
sehr gutes Modul. Das Auslesen aus dem Wechselrichter funktioniert auch bei mir einwandfrei.
Ich schreibe mir jeden Monat die Statistik mit Mittelwert fort. Wäre so eine Auswertung möglich?
Gruß
optimizer
Hi Optimizer,
schau dir doch mal das Modul statistics an, vielleicht löst das dein Problem.
http://fhem.de/commandref.html#statistics (http://fhem.de/commandref.html#statistics)
John
Hab "Total.Energy" in statistics mit aufgenommen.
Hallo John,
gibt es schon Neuigkeiten zum Auslesen des aktuellen Hausverbrauchs.
::)
Hallo horsepower,
da muss ich wohl deine Geduld noch strapazieren.
Diese Jahr schaff ich das nicht mehr.
John
Hallo horsepower,
Ich hab mal das Modul für die BA.fhtml erweitert, kannst Du bitte mal testen ob Du jetzt die Werte bekommst die Du benötigst. Bei meinem Kostal PIKO BA geht es.
Falls das Modul soweit o.k. ist muss noch die Doku nachgepflegt werden und John kann die Änderungen dann einpflegen.
Gruß Jannik
Könnte bitte jemand der einen normalen KostalPiko hat (also ohne Batteriespeicher) bitte das von mir geänderte Modul testen, damit ich weiß was passiert wenn die entsprechenden Daten nicht verfügbar sind.
Danke für die Hilfe!
Gruß Jannik
Hallo jannik_78,
das neue Modul arbeitet perfekt. Ich habe mal ein Screenshot vom Kostal und der FHEM Seite gegenübergestellt.
Hallo horsepower,
danke für den Screenshot, mir ist aufgefallen, dass die Solarleistung noch gefehlt hat, habe ich jetzt schnell ergänzt. Jetzt gibt es noch das Reading Power.Solar
Gruß Jannik
Hallo jannik_78,
jetzt ist es perfekt. ;D ;D ;D ;D
Hallo jannik,
prima Arbeit.
Ich habe einige Stellen noch angepasst.
Attribut BAEnable auf 1 stellen, dann wird die Seite erfasst.
Bitte testen und Feedback. Danach checke ich die neue Version ein.
John
Hallo John,
mir ist aufgefallen, dass sich die Werte in deiner Version nicht mehr automatisch aktualisieren. :o
Betroffen sind die Werte Power.Net usw.
Bitte mal Prüfen.
ZitatAttribut BAEnable auf 1 stellen
hast du das gemacht ?
Wenn ja, bitte verbose auf 5 und Log-file reinstellen und ein list<deinPiko> .
John
Hallo John,
mit meinem KostalPiko BA geht es! Danke noch für die Anpassung!
Gruß Jannik
Hallo John,
ja geht jetzt. Schande über mein Haupt. :-\
Danke ;D
Kein Problem.
Ich freue mich auf die das aktualisierte WIKI.
John
Hi John,
erstmal vielen Dank für das Modul, ich habe vorigen Freitag meinen KOSTAL Piko 7.0 installiert bekommen, das LAN angesteckt und ? Läuft!
eine Kleinigkeit ist mir aufgefallen:
bei mir gibts ein reading generator.3.voltage - dafür fehlt das reading output.3.voltage..
....
generator.2.voltage 625
generator.3.voltage 231 #### das sollte output.3.voltage heissen....? Environment: 2 DC-Strings - 3 Phasen AC - da liegt wohl das Problem
output.1.power 443
output.1.voltage 235
output.2.power 414
output.2.voltage 232
output.3.power 357
sensor.1 0.00
....
ein kurzer Blick in den code hat mir gezeigt, dass das Problem an der Variable $index (zeile 716ff) liegt. (Bzw. an der Art wie die KOSTAL Web-Seite designed ist....)
Ich hab's für mich jetzt mal so gefixed:
#line 716ff:
# $rdName = "generator.$strang.voltage" if ( $tag eq "Spannung" && $index == 1 );
# $rdName = "output.$strang.voltage" if ( $tag eq "Spannung" && $index == 2 );
$rdName = "generator.$strang.voltage" if ( $tag eq "Spannung" && $index == 1 && $strang < 3);
$rdName = "output.$strang.voltage" if ( $tag eq "Spannung" && ($index == 2 || $strang == 3));
.. wobei das sicher kein allgemein gültiger Ansatz ist.
Brauchst du einen screenshot oder HTML-datei?
l.g. erwin
Hallo Erwin,
die HTML-Datei wäre hilfreich.
John
Danke John,
hier die html seite...
l.g. erwin
Erstmal Hallo Zusammen,
dies scheint am Piko 7.0 zu liegen, das dieser nur zwei DC Eingänge besitzt.
Ich bin zwar nicht der Profi im Code schreiben, aber der Workaround von Erwin hat mir weitergeholfen, Dafür Vielen Dank. :D
Es wäre wahrscheinlich nicht schlecht, vielleicht die Type auslesen oder die Anzahl der DC-Eingänge als Attribut mit einzubinden?
Leider weiß ich nicht wie das in Perl gemacht wird.
Aber vielleicht hilft hier ein Denkansatz als mögliche Idee. ;)
schöne Grüße Stefan
Hallo John,
ich hab noch ein Problem, auf einem langsamen Rechner (Olinuxino) bekomme ich das Modul KostalPiko nicht zu Laufen.
beim Abfragen bekomme ich den Fehler :" Timeout for KOSTALPIKO_StatusRun reached, terminated process 686"
wo kann ich das Timeout im Modul festlegen?
Alle anderen Module von mir benötigten von FHEM laufen somit liegt es nicht an der Netzwerkanbindung.
Gib mir mal ein Tipp wo ich suchen soll, dann probiere ich das mal aus.
Gruß Jannik
Hallo Jannik,
schick bitte ein
list <dein KostalPiko>
Ergebnis von
ping www.proplanta.de
Ergebnis von
ping <ip-adresse deines KostalPikos>
Welchen Olinuxino hast du genau ?
John
Hallo John,
es ist ein A20 Olinuxino board.
Gruß Jannik
list Kostal:
Internals:
DEF 192.168.2.26 [user] [password]
NAME Kostal
NR 529
STATE W: 237 - Einspeisen MPP
TYPE KOSTALPIKO
VERSION 2.05
Readings:
2014-12-07 11:23:14 0 0
2015-01-11 11:17:33 AC.Power 237
2015-01-11 11:17:33 AC.Power.Fast 237
2014-12-06 15:36:03 Battery.ChargeCurrent 0.00
2014-12-07 13:38:21 Battery.CycleCount 0
2014-12-06 15:36:03 Battery.Cycles 0
2014-12-06 15:36:03 Battery.StateOfCharge 0.0
2014-12-06 19:30:44 Battery.Temperature 0.0
2014-12-06 15:36:03 Battery.Voltage 0
2015-01-11 11:15:33 Daily.Energy 0.20
2015-01-02 23:00:11 Daily.Energy.Last 2.82
2015-01-11 10:30:43 EnergyExpected 3.3
2015-01-11 10:30:43 Global.Radiation 1.1
2015-01-11 10:44:33 Mode Einspeisen MPP
2015-01-11 10:44:33 ModeNum 2
2015-01-11 10:42:32 Power.Battery 0.0
2015-01-11 11:17:33 Power.Net 3678.4
2015-01-11 11:17:33 Power.Phase1 492.5
2015-01-11 11:17:33 Power.Phase2 224.0
2015-01-11 11:17:33 Power.Phase3 3198.9
2015-01-11 11:17:33 Power.Solar 237.1
2015-01-10 15:52:03 Total.Energy 260
2015-01-11 10:30:43 UV.Index 2
2015-01-11 11:16:33 generator.1.current 0.43
2015-01-11 11:17:33 generator.1.voltage 380
2015-01-11 11:17:33 generator.2.current 0.41
2015-01-11 11:16:33 generator.2.voltage 419
2015-01-11 11:16:33 generator.3.voltage 239
2015-01-11 11:17:33 output.1.power 79
2015-01-11 11:08:33 output.1.voltage 238
2015-01-11 11:17:33 output.2.power 78
2015-01-11 11:16:33 output.2.voltage 237
2015-01-11 11:17:33 output.3.power 79
2015-01-11 11:16:33 sensor.1 0.00
2015-01-11 11:16:33 sensor.2 0.00
2015-01-11 11:00:32 sensor.3 0.00
2015-01-11 11:03:33 sensor.4 0.00
2015-01-11 11:17:33 state W: 237 - Einspeisen MPP
2015-01-11 10:30:43 sunshine.duration 30
Helper:
GRHour 25
Host 192.168.2.26
Pass pvwr
TimerGR Kostal.GR
TimerGRInterval 3600
TimerInterval 60
TimerStatus Kostal.STATUS
User pvserver
delayCounter 0
Running_gr:
abortFn KOSTALPIKO_GrAborted
finishFn KOSTALPIKO_GrDone
fn KOSTALPIKO_GrRun
pid 10593
Abortarg:
Running_status:
abortFn KOSTALPIKO_StatusAborted
finishFn KOSTALPIKO_StatusDone
fn KOSTALPIKO_StatusRun
pid 10533
Abortarg:
Attributes:
BAEnable 1
GR.Interval 3600
GR.Link http://www.proplanta.de/Wetter/Tuttlingen-Wetter-Heute.html
delay 60
disable 0
room Solar
userReadings EnergyExpected:Global.Radiation {return ReadingsVal ("Kostal","Global.Radiation",0)*30*0.10;}
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
PING www.proplanta.de (212.40.176.162) 56(84) bytes of data.
64 bytes from www.proplanta.de (212.40.176.162): icmp_req=1 ttl=56 time=690 ms
64 bytes from www.proplanta.de (212.40.176.162): icmp_req=2 ttl=56 time=544 ms
64 bytes from www.proplanta.de (212.40.176.162): icmp_req=3 ttl=56 time=521 ms
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
PING 192.168.2.26 (192.168.2.26) 56(84) bytes of data.
64 bytes from 192.168.2.26: icmp_req=1 ttl=64 time=0.711 ms
64 bytes from 192.168.2.26: icmp_req=2 ttl=64 time=0.627 ms
64 bytes from 192.168.2.26: icmp_req=3 ttl=64 time=0.784 ms
----------------------------------------------------------------------------------------------------------------------------
Hallo John,
mit den kleinen Perlscript kann ich die Seite auslesen. Es liegt also nicht am Auslesen selbst. Du hast doch da was mit dem blocking und timeout gebaut.....das verstehe ich noch nicht ganz.
#!/usr/bin/perl
use LWP::UserAgent;
my $ua = new LWP::UserAgent;
my $response = $ua->get('http://xxxx:yyyy@192.168.2.26/Info.fhtml');
unless ($response->is_success) {
die $response->status_line;
}
my $content = $response->decoded_content();
if (utf8::is_utf8($content)) {
binmode STDOUT,':utf8';
} else {
binmode STDOUT,':raw';
}
print $content;
Gruß Jannik
Hallo Jannik,
ich kenne diesea Problem mit meinem Poppel-Raspi nicht.
Dein Olexino ist wesentlich leistungsfähiger.
Die Pings sind soweit OK
Verwendest du ein modifziertes Modul oder das Original von mir ?
Wenn nein, tritt das Problem auch auf, wenn du das Original verwendest ?
Das Reading passt nicht.
2014-12-07 11:23:14 0 0
ZitatAbfragen bekomme ich den Fehler :" Timeout for KOSTALPIKO_StatusRun reached, terminated process 686"
Meinst du mit Abfragen folgendes ?
Zitatset <deinKostal> captureKostalData
In folgender Sub findest du den Timeout Parameter:
sub KOSTALPIKO_StatusStart($)
{
...
while (1)
{
KOSTALPIKO_Log $hash, 3, "--- started ---";
$hash->{helper}{RUNNING_STATUS} = BlockingCall(
"KOSTALPIKO_StatusRun", # callback worker task
$name, # name of the device
"KOSTALPIKO_StatusDone", # callback result method
50, # timeout seconds <====
"KOSTALPIKO_StatusAborted", # callback for abortion
$hash
); # parameter for abortion
last;
}
John
Hallo John,
ich benutze das Originalmodul von Dir.
Die Fehlermeldung steht im logfile
wenn ich Delay auf 350 sek setze sieht es wie unten aus .
Auf meiner QNAP läuft es problemlos, ich steh echt auf dem Schlauch. Ich schau heute Abend nochmal ob ich einen Fehler finde.
Was mich wundert ist, dass ich die Abfrage der Seite mit dem Perlscript ohne Fehler hinbekomme, also muss der Abruf an sich ja gehen oder?
ich mach noch ein paar Tests.....
Gruß Jannik
2015.01.14 15:38:51 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 32555
2015.01.14 15:44:41 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 2018
2015.01.14 15:50:31 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 4031
2015.01.14 15:55:59 1: Timeout for KOSTALPIKO_GrRun reached, terminated process 5808
2015.01.14 15:56:21 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 5924
2015.01.14 16:02:11 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 7820
2015.01.14 16:08:01 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 9729
2015.01.14 16:13:51 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 11642
2015.01.14 16:19:41 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 13551
2015.01.14 16:25:31 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 15458
2015.01.14 16:31:21 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 17327
2015.01.14 16:37:11 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 19232
2015.01.14 16:43:01 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 21137
2015.01.14 16:48:51 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 23011
2015.01.14 16:54:41 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 24899
2015.01.14 16:55:59 1: Timeout for KOSTALPIKO_GrRun reached, terminated process 25345
2015.01.14 17:00:31 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 26794
2015.01.14 17:06:21 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 28698
2015.01.14 17:12:11 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 30571
2015.01.14 17:18:01 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 32448
2015.01.14 17:23:51 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 1858
2015.01.14 17:29:41 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 3833
2015.01.14 17:35:31 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 5702
2015.01.14 17:41:21 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 7582
2015.01.14 17:47:11 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 9506
2015.01.14 17:53:02 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 11410
2015.01.14 17:55:59 1: Timeout for KOSTALPIKO_GrRun reached, terminated process 12361
2015.01.14 17:58:52 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 13313
2015.01.14 18:04:42 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 15223
2015.01.14 18:10:32 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 17174
2015.01.14 18:16:22 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 19079
2015.01.14 18:22:12 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 20992
2015.01.14 18:28:02 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 22927
2015.01.14 18:33:52 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 24824
2015.01.14 18:39:42 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 26690
2015.01.14 18:45:32 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 28579
Hallo John,
Problem gefunden, an ganz anderer Stelle als vermutet.....
lnachdem ich das Timeout von 50 auf 250s gesetzt habe kam die Fehlermeldung
CallBlockingFn: Can't connect to localhost:7072: IO::Socket::INET: connect: Connection timed out
Tja das war es dann auch, localhost lief nicht auf dem Rechner, ist wohl bei dem Olinuxino per default aus.
Für alle die das Problem mit dem Olinuxino haben:
in /etc/network/interfaces muss
auto lo
iface lo inet loopback
eingetragen werden.
Sorry für die Verwirrung.
Gruß Jannik
Hallo zusammen,
ist es auch möglich, hier ein paar Wünsche für eine Weiterentwicklung dieses Moduls zu äußern?
Meine Idee/Wunsch wäre es, die Abfrage der Wechselrichter-Werte zeitlich zu begrenzen, als z.B. nur von 8:00 - 20:00 oder von Sonnenaufgang bis Sonnenuntergang.
Gleiches wäre dann auch für die Strahlungswerte interessant.
Theoretisch ist dies natürlich auch mit AT/DOIF möglich, aber wenn's im Modul schon drin steckt, wäre es entsprechend praktikabler. ;D
Außerdem fände ich es ganz gut, wenn man den Zeitpunkt, wann der letzte Wert (Daily.Energy.Last) gelesen wird, per Attribut setzen kann. Ich habe dies bei mir direkt im Modul geändert, aber beim nächsten Update wäre das dann wieder weg.
Vielen Dank im Voraus.
Gruß,
Torsten
Hallo Torsten,
Zitatist es auch möglich, hier ein paar Wünsche für eine Weiterentwicklung dieses Moduls zu äußern?
ja klar, Wünsche können immer vorgetragen werden.
ZitatMeine Idee/Wunsch wäre es, die Abfrage der Wechselrichter-Werte zeitlich zu begrenzen, als z.B. nur von 8:00 - 20:00 oder von Sonnenaufgang bis Sonnenuntergang
Du siehst das richtig, man kann diesen Wunsch mit FHEM internen Mitteln realisieren.
Ein Begründung für deine Wünsche wäre noch hilfreich.
ZitatAußerdem fände ich es ganz gut, wenn man den Zeitpunkt, wann der letzte Wert (Daily.Energy.Last) gelesen wird, per Attribut setzen kann.
Ich habe versucht einen Zeitpunkt festzulegen, bei dem die Tages-Ernte abgeschlossen ist.
Warum sollte man diesen Zeitpunkt verändern wollen ?
John
Hallo John,
danke für die schnelle Antwort.
Letztendlich ist bei mir das "Problem" (ist ja nicht wirklich eins), dass ich mein FHEM auf einem PI läuft, der mittels WLAN angebunden ist.
Mein WLAN schaltet sich allerdings nachts aus, so dass FHEM den Wechselrichter nicht mehr erreichen kann.
Außerdem denke ich, dass sich die Werte des Wechselrichters ja nachts nicht mehr ändern. 8)
Für den letzten Tages-Eintrag ist das auch die Begründung. Mein WLAN schaltet sich um 23 Uhr aus.
Klar, ich kann das WLAN ändern.
War halt nur so eine Idee, falls sich der Aufwand in Grenzen hält.
Ist ja immer so eine Kosten-Nutzen-Frage.
Gruß,
Torsten
Hi, ich become seit dem 20ten Januar immer eine Fehlermeldung
KOSTALPIKO Wechselrichter: PIKO_GrHtmlAcquire.744 Error: Can't get http://www.proplanta.de/Wetter/Schweich+%28Mosel%29-Wetter-Heute.html -- 403 Forbidden
seit dem gibts kein update von Global Radiation und Expected Energy. Ich habe aber an meiner Konfiguration nix geaendert . Hat da jemand eine Idee?
Der Link als solcher Funktioniert ja: http://www.proplanta.de/Wetter/Schweich+%28Mosel%29-Wetter-Heute.html, dauert aber mehrere Sekunden, kann das das Problem sein? (ein timeout)
Konfiguriert ist wie folgt:
GR.Link http://www.proplanta.de/Wetter/Schweich+%28Mosel%29-Wetter-Heute.html
alias Wechselrichter
delay 300
delayCounter 1
Danke fuer die Hilfe
Hi Heiner,
hast du dein FHEM aktualisiert ?
Das Problem ist seit Version 2.07 gelöst. (siehe die unmittelbaren Beiträge vorher)
John
Hi John,
nach dem Update gabs wieder das Problem mit dem PIKO7 WR - siehe post 67....
darf ich dir ein diff schicken, es funktioniert mit dem piko 7, kannst du es mit einem anderen PIKO (mit 3 strings) testen, und wenn ok einchecken?
danke
erwin
Hallo, der Update auf V 2.07 funktioniert, aber ich habe ab und an (nicht immer) noch einen Fehler:
2015.02.08 09:43:12 1: KOSTALPIKO Wechselrichter: StatusHtmlAcquire.523 Can't get http://xxx:yyy@192.168.178.xx/index.fhtml -- 500 Can't connect to 192.168.178.xx:80 (timeout)
Ich betreibe FHEM auf der Fritzbox7390 der Kostal Piko hängt direkt am Switch der Fritzbox, da will ich eigentlich nix von einem Timeout hoeren. Kamm heute morgen z.B. 2 mal ich vermute als ich die FHEM Seite aufgerufen habe. In FHEM "sehe" ich aber den Kostal Piko ganz normal.
Danke fuer die Hilfe
den timeout hab ich auch seit ein paar tagen - allerdings hab ich den auch wenn ich die ip vom wechselrichter im browser aufruf...
bei mir liegt es wohl am kostalpiko...
gruß anton
Hi All,
die Sonnenfinsternis, gemessen vom KOSTALPIKO, wollte ich euch nicht vorenthalten!
l.g. erwin
Hi
Mir ist aufgefallen das mir das Reading output.3.voltage fehlt.
Auch nach mehrfachem define wird es nicht angelegt.
fhem ist aktuell
ZitatZusätzlich wurde generator.3.voltage angelegt. Der WR besitzt aber nur 2 Strings
Hi Crawler,
das Problem ist bekannt (für WR's mit nur 2 Strings), siehe post 67 und 83.
l.g. erwin
Bei mir hat leider nur das ändern per Hand geholfen
Wenn man define macht wird wieder generator.3voltage angelegt und output.3.power fehlt
Hallo John,
ich bekomme in letzter Zeit die folgende Fehlermeldung:
"Can't locate object method "new" via package "MyParser" at ./FHEM/23_KOSTALPIKO.pm line 598."
Weißt Du, woran das liegen könnte?
Danke & Gruß,
Torsten
Hallo Torsten,
ich hab ja lange nichts mehr geändert an dem Modul, somit müssen die Gründe im Umfeld liegen.
Wenn das Modul korrupt ist, kanst du es wieder herstellen via:
update 23_KOSTALPIKO.pm
MyParser wird abgeleitet von HTML::Parser.
Das Paket kannst du überprüfen via
perl -MHTML::Parser -e ';'
durch Eingabe im Terminal
Wenn das Modul vorhanden ist, darf keine Fehlermeldung kommen.
John
Hallo
Bin ein kompletter Newcomer.
Ich habe seit kurzen eine Raspberry auf dem ich FHEM installiert habe.
Hab jetzt auch versucht die Daten von meinem Kostal WR auszulesen. Soweit ich es beurteilen kann, hab ich alles notwendige gemacht, damit es funktionieren sollte.
Im Log-File ( hab ich einen Teil als Anhang dabei) hab ich gesehen, dass der Aufruf fehlgeschlagen ist.
Die Webseite des WR ist ganz normal im Browser erreichbar.
Das LOG File sagt aber etwas anderes.
Kann mir jemand helfen, und mir einen Tipp geben, was ich falsch mache ?
Danke im voraus
Stefan
Moin.
Ich habe heute meine PV-Aanlage in Betrieb genommen. Hier ist ein Umrichter KACO blueplanet 5.0-9.0 TL3 verbaut. Kann man dieses Modul auch für diesem Umrichter verwenden?
Schöne Grüße
Frank
Hi Frank,
das geht wohl nicht.
Das vorliegende Modul ruft direkt HTML-Seiten des Wechselrichters Kostalpiko auf und entnimmt dort die Werte.
Da jeder Hersteller die WEB-Seiten anders aufbaut funktioniert das Modul nur für den genannten Wechselrichter.
Sollte dein Wechselrichter die interessierenden Werte ebenfalls als HTML-Seite präsentieren, so kannst du das vorliegende Modul als
vorlage für deine eigene Implementierung verwenden, wenn du entsprechende Perl-Kenntnisse hast.
John
Hallo John
Mein WR ist mit dem Kostal Piko Portal verbunden.
Welche IP-Adresse muss ich nun im FHEM eingeben ?
Ich bin davon ausgegangen, dass das die interen IP Adresse (10.0.0.1) ist, die der WR in meinem Netz hat.
Wenn das nicht stimmt, welche IP Adresse muss ich dann verwenden ?
Danek
Stefan
Hallo Stefan,
du musst erst prüfen, ob Kostalpiko innerhalb deines Hausnetzes erreichbar ist (zumindest von dem Rechner auf dem FHEM läuft)
Dazu musst du wissen, welche IP-Adresse dein Piko hat.
Bei meinem Piko kann man diese über das Bedien-Panel einsehen/modifizieren.
Diese muss zum IP-Range in dem Hausnetz passen.
Überprüfen kannst du dies, indem du vom FHEM Rechner einen Ping auf deinen Piko absetzt.
Mein Piko hat die Adresse 192.168.178.10, somit erscheint folgende Ausgabe ausgeführt auf meinem Raspi
ping 192.168.178.10
PING 192.168.178.10 (192.168.178.10) 56(84) bytes of data.
64 bytes from 192.168.178.10: icmp_req=1 ttl=64 time=10.5 ms
64 bytes from 192.168.178.10: icmp_req=2 ttl=64 time=8.19 ms
Das Perl Modul Kostalpiko holt seine Daten direkt über die Web-Seiten, die der Umrichter anbietet.
Beispiel eine der Seiten siehe Anhang.
Nur wenn der Aufbau deiner Seite (HTML-Technisch) identisch ist , wird das Modul funktionieren.
Aber das ist dann der 2. Schritt.
John
Hallo John
Ich hab von meinem Raspi ( hat im Netz 10.0.0.50:8083) den Wechselrichter ( hat im Netz 10.0.0.1) angepingt .
Hat gut funktioniert. Sogar die Antwortzeiten waren unter 15ms.
Ich hab einen Hub dazwischengeschalten da mir die Steckplätze ausgegangen sind. Ich denke mir aber, wenn der Ping funktioniert, sollte die Verbindung kein Problem sein.
Viel kann da nicht fehlen , oder ?
Danke für dein Hilfe
Stefan
Hallo Stefan,
gibt die IP Adresse in deinem Browser ein und schicke davon ein Bild.
Es muss einen Seite ähnlich der zuvor geposteten erscheinen.
John
Hallo John
Bin zur Zeit leider nicht zu Haus, aber wenn ich bei meinem Browser die 10.0.0.1 eingebe, kommt genau diese Web-Oberfläche vom Wechselrichter.
Inclusive der aktuellen Daten.
Ich hab auch da in den Einstellungen die DNS vom Kostal Portal eingeben müssen
Gruss Stefan
Hallo Stefan,
die Log-Datei sagt ja deutlich wo es hakt.
2015.10.14 19:19:10 1: KOSTALPIKO Kostal: StatusHtmlAcquire.523 Can't get http://pvserver:pvwr@10.0.0.1/index.fhtml -- 500 Can't connect to 10.0.0.1:80 (timeout)
was passiert den wenn du das
http://pvserver:pvwr@10.0.0.1/index.fhtml
im Browser eingibst ?
John
Hallo John
Hab die Zeile http://pvserver:pvwr@10.0.0.1/index.fhtml im Browser eingegeben.
Der hat sie sofort in http://10.0.0.1/index.fhtml umgewandelt und ohne anmeldung die Webseite vom WR angezeigt
Siehe Anhang
Gruss Stefan
funktioniert das auch auf dem Rechner auf dem FHEM läuft ?
weiterhin: die Ausgabe von folgende Befehl reinstellen:
list Kostal
John
Hallo John
Sorry, kämpfe mit dem Raspberry. Da ist anscheinend sonst nicht viel installiert.
Was meinst du mt "List Kostal" .
Danke
Stefan
Hallo John
Hab auf meinem Raspberry jetzt einen Desktop installiert und dort im Browser die URL eingegeben.
Die Webseite vom Wechselrichter erscheint .
Bitte die Ausgabe von folgendem Befehl "list Kostal" (siehe Anhang)
Hier der Screenshot
die aktuelle Version ist 2.07 nicht 2.04
Hallo John
Danke für die Info.
Lässt sich das Kostal Modul einzeln updaten oder muss ich da FHEM updaten. Werde aus der Doku nicht ganz schlau wie das geht.
Danke
Stefan
Hallo John
Sorry, hab update nun doch geschafft.
Hab jetzt Version 2.07
Im Log sehe ich leider keine Veränderung
Danke
Stefan
Stimmt das soweit ?
* dein FHEM läuft auf einem Raspi
* vom Raspi aus ist KostalPiko via Ping erreichbar
* du hast über den Browser auf dem Raspi die Webseite erreicht
Versuch Folgendes in der Shell
wget http://10.0.0.1 --user=pvserver --password=pvwr
Bei mir liefert dies folgenden Output:
--2015-10-17 11:42:40-- http://192.168.178.10/
Verbindungsaufbau zu 192.168.178.10:80... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 401 Unauthorized
Fehler beim Schreiben der HTTP-Anforderung: Ung�ltiger Dateideskriptor.
Erneuter Versuch.
--2015-10-17 11:42:41-- (Versuch: 2) http://192.168.178.10/
Verbindungsaufbau zu 192.168.178.10:80... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 200 OK
Laenge: nicht spezifiziert [text/html]
In index.html speichern.
[ <=> ] 6.467 19,1K/s in 0,3s
2015-10-17 11:42:42 (19,1 KB/s) - index.html gespeichert [6467]
Die Datei index.html ist nun im Verzeichnis vorhanden.
John
Hallo John
Zuerst hatte ich keine Chance auf eine Verbindung.
Hab jetzt den raspberry und den WR im Netzwerk anders angesteckt. Jetzt scheint es besser zu sein.
Zumindestens das Log zeigt das gleiche wie bei dir.
Der Ping ist jetzt auch um einiges schneller.
Das LOG File vom FHEM siet jetzt auch besser aus.
Jetzt sollte der Rest auch funktionieren, oder ?
GRuss Stefan
sieht gut aus.
Sind auch die Readings schon angelegt ? (siehe Web-Seite von FHEM)
John
Ich hab bsiher nur das aus der Seite
http://www.fhemwiki.de/wiki/KostalPiko#Readings
rauskopiert.
Gibts da irgndeine Vorlage ?
Danke für deine Hilfe
Stefan
Die Readings werden automatisch angelegt, falls die Abläufe funktionieren.
Am besten nochmal ein "list Kostal" reinstellen.
John
PS: so solltest deinem Profil noch die passend Signatur geben, damit daine Konfiguration klar ist.
Hallo John
Ich hab die paar Zeilen damals einfach in das FHEM.cfg kopiert.
Nochmals danke für deine Hilfe !
Gruss Stefan
Das sieht noch nicht gut aus:
Es sollte in etwa nachfolgendes erscheinen:
Internals:
DEF 192.168.178.10 pvserver pvwr
NAME Kostal
NR 360
STATE MyPowerFast:143 - MyMode:Einspeisen MPP
TYPE KOSTALPIKO
VERSION 2.07
Readings:
2015-10-18 08:36:37 AC.Power 143
2015-10-18 08:36:37 AC.Power.Fast 143
2014-12-07 10:59:50 Battery.ChargeCurrent 3.00
2014-12-07 11:10:30 Battery.CycleCount 5
2014-12-07 10:59:50 Battery.StateOfCharge 1.0
2014-12-07 10:59:50 Battery.Temperature 4.0
2014-12-07 10:59:50 Battery.Voltage 2
2015-10-18 08:36:37 Daily.Energy 0.02
2015-10-17 23:06:34 Daily.Energy.Last 5.59
2015-10-18 08:15:59 EnergyExpected 3.33
2015-10-18 08:15:59 Global.Radiation 0.9
2015-10-18 08:26:37 Mode Einspeisen MPP
2015-10-18 08:26:37 ModeNum 2
2014-12-07 10:59:50 Power.Battery 12.1
2014-12-07 10:59:50 Power.Net 13.1
2014-12-07 10:59:50 Power.Phase1 14.1
2014-12-07 10:59:50 Power.Phase2 15.1
2014-12-07 10:59:50 Power.Phase3 16.1
2014-12-07 11:17:48 Power.Solar 11.1
2015-10-17 13:46:32 Total.Energy 30657
2015-10-18 08:15:59 UV.Index 1
2015-10-18 08:16:37 generator.1.current 0.00
2014-09-09 19:52:54 generator.1.voltage 0
2015-10-18 08:16:37 generator.2.current 0.00
2014-09-09 19:52:54 generator.2.voltage 0
2015-10-18 08:36:37 generator.3.current 0.25
2015-10-18 08:36:37 generator.3.voltage 632
2015-10-17 13:36:32 output.1.power 0
2015-10-18 08:26:37 output.1.voltage 224
2015-10-18 08:36:37 output.2.power 143
2015-10-18 08:16:37 output.2.voltage 222
2015-10-17 17:36:33 output.3.power 0
2015-10-18 08:26:37 output.3.voltage 224
2014-09-09 19:52:54 sensor.1 0.00
2014-09-09 19:52:54 sensor.2 0.00
2014-09-09 19:52:54 sensor.3 0.00
2014-09-09 19:52:54 sensor.4 0.00
2015-10-18 08:36:37 state W: 143 - Einspeisen MPP
2015-10-18 08:15:59 sunshine.duration 5
Kann das mit dem Status zusammenhängen ?
da sind bei mir nur ???
Stefan
Hi Stefan
stelle das Attribut Verbose auf 5.
Danach wird der Ablauf im Detail geloggt.
Bei mir sieht das so aus:
2015.10.18 10:46:36 3: KOSTALPIKO Kostal: StatusTimer.835 --- started ---
2015.10.18 10:46:36 3: KOSTALPIKO Kostal: StatusStart.545 --- started ---
2015.10.18 10:46:36 3: KOSTALPIKO Kostal: StatusStart.576 --- done ---
2015.10.18 10:46:36 3: KOSTALPIKO Kostal: StatusTimer.846 --- done ---
2015.10.18 10:46:36 3: KOSTALPIKO Kostal: StatusRun.591 --- started ---
2015.10.18 10:46:36 4: KOSTALPIKO Kostal: StatusHtmlAcquire.513 http://pvserver:pvwr@192.168.178.10/index.fhtml
2015.10.18 10:46:37 4: KOSTALPIKO Kostal: SensorHtmlAcquire.455 http://pvserver:pvwr@192.168.178.10/Info.fhtml
2015.10.18 10:46:37 3: KOSTALPIKO Kostal: StatusRun.644 --- done ---
2015.10.18 10:46:37 3: KOSTALPIKO Kostal: StatusDone.658 --- started ---
2015.10.18 10:46:37 5: KOSTALPIKO Kostal: StatusDone.661 values:aktuell, 320, Gesamtenergie, 30658, Tagesenergie, 0.57, Status, Einspeisen MPP, Spannung, 0, Spannung, 223, Strom, 0.00, Leistung, 0, Spannung, 0, Spannung, 220, Strom, 0.00, Leistung, 175, Spannung, 629, Spannung, 221, Strom, 0.56, Leistung, 145, 1. analoger Eingang:, 0.00, 2. analoger Eingang:, 0.00, 3. analoger Eingang:, 0.00, 4. analoger Eingang:, 0.00
2015.10.18 10:46:37 4: KOSTALPIKO Kostal: StatusDone.799 AC.Power: 320 upd:1
2015.10.18 10:46:37 4: KOSTALPIKO Kostal: StatusDone.799 AC.Power.Fast: 320 upd:1
2015.10.18 10:46:37 4: KOSTALPIKO Kostal: StatusDone.799 Daily.Energy: 0.57 upd:1
2015.10.18 10:46:37 4: KOSTALPIKO Kostal: StatusDone.799 Mode: Einspeisen MPP upd:0
2015.10.18 10:46:37 4: KOSTALPIKO Kostal: StatusDone.799 ModeNum: 2 upd:0
2015.10.18 10:46:37 4: KOSTALPIKO Kostal: StatusDone.799 Total.Energy: 30658 upd:0
2015.10.18 10:46:37 4: KOSTALPIKO Kostal: StatusDone.799 generator.1.current: 0.00 upd:0
2015.10.18 10:46:37 4: KOSTALPIKO Kostal: StatusDone.799 generator.1.voltage: 0 upd:0
2015.10.18 10:46:37 4: KOSTALPIKO Kostal: StatusDone.799 generator.2.current: 0.00 upd:0
2015.10.18 10:46:37 4: KOSTALPIKO Kostal: StatusDone.799 generator.2.voltage: 0 upd:0
2015.10.18 10:46:37 4: KOSTALPIKO Kostal: StatusDone.799 generator.3.current: 0.56 upd:1
2015.10.18 10:46:37 4: KOSTALPIKO Kostal: StatusDone.799 generator.3.voltage: 629 upd:1
2015.10.18 10:46:37 4: KOSTALPIKO Kostal: StatusDone.799 output.1.power: 0 upd:0
2015.10.18 10:46:37 4: KOSTALPIKO Kostal: StatusDone.799 output.1.voltage: 223 upd:1
2015.10.18 10:46:37 4: KOSTALPIKO Kostal: StatusDone.799 output.2.power: 175 upd:1
2015.10.18 10:46:37 4: KOSTALPIKO Kostal: StatusDone.799 output.2.voltage: 220 upd:1
2015.10.18 10:46:37 4: KOSTALPIKO Kostal: StatusDone.799 output.3.power: 145 upd:1
2015.10.18 10:46:37 4: KOSTALPIKO Kostal: StatusDone.799 output.3.voltage: 221 upd:1
2015.10.18 10:46:37 4: KOSTALPIKO Kostal: StatusDone.799 sensor.1: 0.00 upd:0
2015.10.18 10:46:37 4: KOSTALPIKO Kostal: StatusDone.799 sensor.2: 0.00 upd:0
2015.10.18 10:46:37 4: KOSTALPIKO Kostal: StatusDone.799 sensor.3: 0.00 upd:0
2015.10.18 10:46:37 4: KOSTALPIKO Kostal: StatusDone.799 sensor.4: 0.00 upd:0
2015.10.18 10:46:37 4: KOSTALPIKO Kostal: StatusDone.799 state: W: 320 - Einspeisen MPP upd:1
2015.10.18 10:46:37 3: KOSTALPIKO Kostal: StatusDone.812 --- done ---
Hi John
Ich hab mal einiges vom LOG rauskopiert...
Danke
Stefan
2015.10.18 19:39:25 3: KOSTALPIKO Kostal: StatusRun.644 --- done ---
2015.10.18 19:40:14 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 5515
2015.10.18 19:40:14 3: KOSTALPIKO Kostal: StatusAborted.820 --- done ---
2015.10.18 19:40:24 3: KOSTALPIKO Kostal: StatusTimer.835 --- started ---
2015.10.18 19:40:24 3: KOSTALPIKO Kostal: StatusStart.545 --- started ---
2015.10.18 19:40:24 4: BlockingCall created child (6026), uses telnetForBlockingFn to connect back
2015.10.18 19:40:24 3: KOSTALPIKO Kostal: StatusStart.576 --- done ---
2015.10.18 19:40:24 3: KOSTALPIKO Kostal: StatusRun.591 --- started ---
2015.10.18 19:40:24 4: KOSTALPIKO Kostal: StatusHtmlAcquire.513 http://pvserver:pvwr@10.0.0.1/index.fhtml
2015.10.18 19:40:24 3: KOSTALPIKO Kostal: StatusTimer.846 --- done ---
2015.10.18 19:40:25 4: KOSTALPIKO Kostal: SensorHtmlAcquire.455 http://pvserver:pvwr@10.0.0.1/Info.fhtml
2015.10.18 19:40:25 3: KOSTALPIKO Kostal: StatusRun.644 --- done ---
2015.10.18 19:41:13 4: Connection accepted from FHEMWEB:10.0.0.8:59184
2015.10.18 19:41:14 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 6026
2015.10.18 19:41:14 3: KOSTALPIKO Kostal: StatusAborted.820 --- done ---
2015.10.18 19:41:14 4: FHEMWEB:10.0.0.8:59184 GET /fhem; BUFLEN:0
2015.10.18 19:41:14 4: name: /fhem / RL:1108 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2015.10.18 19:41:14 4: FHEMWEB:10.0.0.8:59184 GET /fhem/pgm2/jquery-ui.min.css; BUFLEN:0
2015.10.18 19:41:14 4: FHEMWEB:10.0.0.8:59184 => 304 Not Modified
2015.10.18 19:41:14 4: Connection accepted from FHEMWEB:10.0.0.8:59185
2015.10.18 19:41:14 4: Connection accepted from FHEMWEB:10.0.0.8:59186
2015.10.18 19:41:14 4: FHEMWEB:10.0.0.8:59185 GET /fhem/pgm2/jquery.min.js; BUFLEN:0
2015.10.18 19:41:14 4: FHEMWEB:10.0.0.8:59185 => 304 Not Modified
2015.10.18 19:41:14 4: FHEMWEB:10.0.0.8:59186 GET /fhem/pgm2/fhemweb.js; BUFLEN:0
2015.10.18 19:41:14 4: FHEMWEB:10.0.0.8:59186 => 304 Not Modified
2015.10.18 19:41:14 4: Connection accepted from FHEMWEB:10.0.0.8:59187
2015.10.18 19:41:14 4: FHEMWEB:10.0.0.8:59187 GET /fhem/pgm2/fhemweb_knob.js; BUFLEN:0
2015.10.18 19:41:14 4: FHEMWEB:10.0.0.8:59187 => 304 Not Modified
2015.10.18 19:41:14 4: Connection accepted from FHEMWEB:10.0.0.8:59188
2015.10.18 19:41:14 4: FHEMWEB:10.0.0.8:59186 GET /fhem/pgm2/fhemweb_fbcalllist.js; BUFLEN:0
2015.10.18 19:41:14 4: FHEMWEB:10.0.0.8:59186 => 304 Not Modified
2015.10.18 19:41:14 4: FHEMWEB:10.0.0.8:59185 GET /fhem/pgm2/fhemweb_colorpicker.js; BUFLEN:0
2015.10.18 19:41:14 4: FHEMWEB:10.0.0.8:59185 => 304 Not Modified
2015.10.18 19:41:14 4: FHEMWEB:10.0.0.8:59184 GET /fhem/pgm2/style.css; BUFLEN:0
2015.10.18 19:41:14 4: FHEMWEB:10.0.0.8:59184 => 304 Not Modified
2015.10.18 19:41:14 4: FHEMWEB:10.0.0.8:59187 GET /fhem/pgm2/fhemweb_readingsHistory.js; BUFLEN:0
2015.10.18 19:41:14 4: FHEMWEB:10.0.0.8:59187 => 304 Not Modified
2015.10.18 19:41:14 4: FHEMWEB:10.0.0.8:59186 GET /fhem/pgm2/fhemweb_sortable.js; BUFLEN:0
2015.10.18 19:41:14 4: FHEMWEB:10.0.0.8:59186 => 304 Not Modified
2015.10.18 19:41:14 4: FHEMWEB:10.0.0.8:59188 GET /fhem/pgm2/fhemweb_readingsGroup.js; BUFLEN:0
2015.10.18 19:41:14 4: FHEMWEB:10.0.0.8:59188 => 304 Not Modified
2015.10.18 19:41:14 4: FHEMWEB:10.0.0.8:59185 GET /fhem/pgm2/fhemweb_uzsu.js; BUFLEN:0
2015.10.18 19:41:14 4: FHEMWEB:10.0.0.8:59185 => 304 Not Modified
2015.10.18 19:41:14 4: FHEMWEB:10.0.0.8:59184 GET /fhem/pgm2/jquery-ui.min.js; BUFLEN:0
2015.10.18 19:41:14 4: FHEMWEB:10.0.0.8:59184 => 304 Not Modified
2015.10.18 19:41:15 4: FHEMWEB:10.0.0.8:59184 GET /fhem/images/default/icoEverything.png; BUFLEN:0
2015.10.18 19:41:15 4: FHEMWEB:10.0.0.8:59184 => 304 Not Modified
2015.10.18 19:41:15 4: FHEMWEB:10.0.0.8:59185 GET /fhem/pgm2/defaultCommon.css; BUFLEN:0
2015.10.18 19:41:15 4: FHEMWEB:10.0.0.8:59185 => 304 Not Modified
2015.10.18 19:41:15 4: FHEMWEB:10.0.0.8:59185 GET /fhem/pgm2/dashboard_style.css; BUFLEN:0
2015.10.18 19:41:15 4: FHEMWEB:10.0.0.8:59185 => 304 Not Modified
2015.10.18 19:41:15 4: FHEMWEB:10.0.0.8:59185 GET /fhem/images/default/fhemicon.png; BUFLEN:0
2015.10.18 19:41:15 4: FHEMWEB:10.0.0.8:59185 => 304 Not Modified
2015.10.18 19:41:16 4: FHEMWEB:10.0.0.8:59185 GET /fhem?XHR=1&inform=type=status;filter=;since=1445190073;fmt=JSON×tamp=1445190079184; BUFLEN:0
2015.10.18 19:41:16 4: Connection accepted from FHEMWEB:10.0.0.8:59183
2015.10.18 19:41:24 3: KOSTALPIKO Kostal: StatusTimer.835 --- started ---
2015.10.18 19:41:24 3: KOSTALPIKO Kostal: StatusStart.545 --- started ---
2015.10.18 19:41:24 4: BlockingCall created child (6537), uses telnetForBlockingFn to connect back
2015.10.18 19:41:24 3: KOSTALPIKO Kostal: StatusRun.591 --- started ---
2015.10.18 19:41:24 4: KOSTALPIKO Kostal: StatusHtmlAcquire.513 http://pvserver:pvwr@10.0.0.1/index.fhtml
2015.10.18 19:41:24 3: KOSTALPIKO Kostal: StatusStart.576 --- done ---
2015.10.18 19:41:24 3: KOSTALPIKO Kostal: StatusTimer.846 --- done ---
2015.10.18 19:41:25 4: KOSTALPIKO Kostal: SensorHtmlAcquire.455 http://pvserver:pvwr@10.0.0.1/Info.fhtml
2015.10.18 19:41:25 3: KOSTALPIKO Kostal: StatusRun.644 --- done ---
2015.10.18 19:41:33 4: Connection closed for FHEMWEB:10.0.0.8:59183: EOF
2015.10.18 19:41:49 4: FHEMWEB:10.0.0.8:59188 POST /fhem?cmd=save&XHR=1; BUFLEN:0
2015.10.18 19:41:49 5: Cmd: >save<
2015.10.18 19:41:49 5: Triggering global (1 changes)
2015.10.18 19:41:49 5: Notify loop for global SAVE
2015.10.18 19:41:49 4: name: /fhem?cmd=save&XHR=1 / RL:52 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2015.10.18 19:41:54 4: FHEMWEB:10.0.0.8:59188 POST /fhem?cmd=save&XHR=1; BUFLEN:0
2015.10.18 19:41:54 5: Cmd: >save<
2015.10.18 19:41:54 5: Triggering global (1 changes)
2015.10.18 19:41:54 5: Notify loop for global SAVE
2015.10.18 19:41:54 4: name: /fhem?cmd=save&XHR=1 / RL:52 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2015.10.18 19:41:55 4: FHEMWEB:10.0.0.8:59188 POST /fhem?cmd=save&XHR=1; BUFLEN:0
2015.10.18 19:41:55 5: Cmd: >save<
2015.10.18 19:41:55 5: Triggering global (1 changes)
2015.10.18 19:41:55 5: Notify loop for global SAVE
2015.10.18 19:41:56 4: name: /fhem?cmd=save&XHR=1 / RL:52 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2015.10.18 19:42:07 4: FHEMWEB:10.0.0.8:59188 GET /fhem/FileLog_logWrapper?dev=Logfile&type=text&file=fhem-2015-10.log; BUFLEN:0
2015.10.18 19:42:17 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 6537
2015.10.18 19:42:17 3: KOSTALPIKO Kostal: StatusAborted.820 --- done ---
2015.10.18 19:42:17 4: Connection closed for FHEMWEB:10.0.0.8:59185: EOF
2015.10.18 19:42:17 4: FHEMWEB:10.0.0.8:59188 GET /fhem/FileLog_logWrapper?XHR=1&inform=type=status;filter=;since=1445190126;fmt=JSON×tamp=1445190140537; BUFLEN:0
2015.10.18 19:42:24 3: KOSTALPIKO Kostal: StatusTimer.835 --- started ---
2015.10.18 19:42:24 3: KOSTALPIKO Kostal: StatusStart.545 --- started ---
2015.10.18 19:42:24 4: BlockingCall created child (7045), uses telnetForBlockingFn to connect back
2015.10.18 19:42:24 3: KOSTALPIKO Kostal: StatusStart.576 --- done ---
2015.10.18 19:42:24 3: KOSTALPIKO Kostal: StatusTimer.846 --- done ---
2015.10.18 19:42:24 3: KOSTALPIKO Kostal: StatusRun.591 --- started ---
2015.10.18 19:42:24 4: KOSTALPIKO Kostal: StatusHtmlAcquire.513 http://pvserver:pvwr@10.0.0.1/index.fhtml
2015.10.18 19:42:25 4: KOSTALPIKO Kostal: SensorHtmlAcquire.455 http://pvserver:pvwr@10.0.0.1/Info.fhtml
2015.10.18 19:42:25 3: KOSTALPIKO Kostal: StatusRun.644 --- done ---
2015.10.18 19:42:31 4: Closing inactive connection FHEMWEB:10.0.0.8:59187
2015.10.18 19:42:31 4: Closing inactive connection FHEMWEB:10.0.0.8:59186
2015.10.18 19:42:31 4: Closing inactive connection FHEMWEB:10.0.0.8:59184
2015.10.18 19:43:14 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 7045
2015.10.18 19:43:14 3: KOSTALPIKO Kostal: StatusAborted.820 --- done ---
2015.10.18 19:43:24 3: KOSTALPIKO Kostal: StatusTimer.835 --- started ---
2015.10.18 19:43:24 3: KOSTALPIKO Kostal: StatusStart.545 --- started ---
2015.10.18 19:43:24 4: BlockingCall created child (7556), uses telnetForBlockingFn to connect back
2015.10.18 19:43:24 3: KOSTALPIKO Kostal: StatusRun.591 --- started ---
2015.10.18 19:43:24 4: KOSTALPIKO Kostal: StatusHtmlAcquire.513 http://pvserver:pvwr@10.0.0.1/index.fhtml
2015.10.18 19:43:24 3: KOSTALPIKO Kostal: StatusStart.576 --- done ---
2015.10.18 19:43:24 3: KOSTALPIKO Kostal: StatusTimer.846 --- done ---
2015.10.18 19:43:25 4: KOSTALPIKO Kostal: SensorHtmlAcquire.455 http://pvserver:pvwr@10.0.0.1/Info.fhtml
2015.10.18 19:43:25 3: KOSTALPIKO Kostal: StatusRun.644 --- done ---
2015.10.18 19:44:14 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 7556
2015.10.18 19:44:14 3: KOSTALPIKO Kostal: StatusAborted.820 --- done ---
2015.10.18 19:44:24 3: KOSTALPIKO Kostal: StatusTimer.835 --- started ---
2015.10.18 19:44:24 3: KOSTALPIKO Kostal: StatusStart.545 --- started ---
2015.10.18 19:44:24 4: BlockingCall created child (8070), uses telnetForBlockingFn to connect back
2015.10.18 19:44:24 3: KOSTALPIKO Kostal: StatusRun.591 --- started ---
2015.10.18 19:44:24 3: KOSTALPIKO Kostal: StatusStart.576 --- done ---
2015.10.18 19:44:24 3: KOSTALPIKO Kostal: StatusTimer.846 --- done ---
2015.10.18 19:44:24 4: KOSTALPIKO Kostal: StatusHtmlAcquire.513 http://pvserver:pvwr@10.0.0.1/index.fhtml
2015.10.18 19:44:25 4: KOSTALPIKO Kostal: SensorHtmlAcquire.455 http://pvserver:pvwr@10.0.0.1/Info.fhtml
2015.10.18 19:44:25 3: KOSTALPIKO Kostal: StatusRun.644 --- done ---
2015.10.18 19:45:14 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 8070
2015.10.18 19:45:14 3: KOSTALPIKO Kostal: StatusAborted.820 --- done ---
2015.10.18 19:45:24 3: KOSTALPIKO Kostal: StatusTimer.835 --- started ---
2015.10.18 19:45:24 3: KOSTALPIKO Kostal: StatusStart.545 --- started ---
2015.10.18 19:45:24 4: BlockingCall created child (8578), uses telnetForBlockingFn to connect back
2015.10.18 19:45:24 3: KOSTALPIKO Kostal: StatusStart.576 --- done ---
2015.10.18 19:45:24 3: KOSTALPIKO Kostal: StatusRun.591 --- started ---
2015.10.18 19:45:24 4: KOSTALPIKO Kostal: StatusHtmlAcquire.513 http://pvserver:pvwr@10.0.0.1/index.fhtml
2015.10.18 19:45:24 3: KOSTALPIKO Kostal: StatusTimer.846 --- done ---
2015.10.18 19:45:25 4: KOSTALPIKO Kostal: SensorHtmlAcquire.455 http://pvserver:pvwr@10.0.0.1/Info.fhtml
2015.10.18 19:45:25 3: KOSTALPIKO Kostal: StatusRun.644 --- done ---
2015.10.18 19:45:26 4: Connection accepted from FHEMWEB:10.0.0.8:59221
2015.10.18 19:45:29 4: Connection accepted from FHEMWEB:10.0.0.8:59219
2015.10.18 19:45:29 4: Connection accepted from FHEMWEB:10.0.0.8:59217
2015.10.18 19:45:29 4: Connection accepted from FHEMWEB:10.0.0.8:59220
2015.10.18 19:45:29 4: Connection accepted from FHEMWEB:10.0.0.8:59218
2015.10.18 19:45:30 4: FHEMWEB:10.0.0.8:59221 GET /fhem/FileLog_logWrapper?dev=Logfile&type=text&file=fhem-2015-10.log; BUFLEN:0
Das Verhalten deines System ist für mich nicht erklärbar
2015.10.18 19:40:25 3: KOSTALPIKO Kostal: StatusRun.644 --- done ---
-- nach obigen Eintrag sind alle Seiten HTML-Technisch erfasst und geparsed
--- hier müsste nun folgender Eintrag erscheinen ---
-- StatusDone, wertet die Ergebnisse aus und weist diese den Readings zu
2015.10.18 22:14:00 3: KOSTALPIKO Kostal: StatusDone.658 --- started ---
--- statt dessen kommt ----
2015.10.18 19:41:14 1: Timeout for KOSTALPIKO_StatusRun reached, terminated process 6026
--- das bedeutet eigentlich, daß der Prozess innerhalb der Timeoutzeit nicht abgeschlossen wurde, ist er aber, wie wir in der ersten Logzeile sehen
Welches Betriebssystem nutzt du auf dem Raspi und welche FHEM - Version setzt du ein ?
Sind alle Fhem Module aktuell ?
Hallo John
Für den Raspberry sollte WheezyDebian sein. Über putty wird folgendes angezeigt:
Raspbian GNU/Linux 7 \n \l --> Hab ich vor ca 1 Jahr installiert
Linux sollte folgendes Version sein
Linux version 3.12.22+ (dc4@dc4-arm-01) (gcc version 4.7.2 20120731 (prerelease) (crosstool-NG linaro-1.13.1+bzr2458 - Linaro GCC 2012.08) ) #691 PREEMPT Wed Jun 18 18:29:58 BST 2014
Im FHEM hab ich einen update check gemacht.
Dann kam folgendes
Got remote controlfile with 1596 entries.
Got local controlfile with 1584 entries.
List of new / modified files since last update:
UPD ./CHANGED
UPD FHEM/10_CUL_HM.pm
UPD FHEM/10_EnOcean.pm
UPD FHEM/30_HUEBridge.pm
UPD FHEM/31_HUEDevice.pm
UPD FHEM/31_LightScene.pm
UPD FHEM/32_SYSSTAT.pm
UPD FHEM/32_TechemHKV.pm
UPD FHEM/33_readingsGroup.pm
UPD FHEM/50_TelegramBot.pm
UPD FHEM/59_OPENWEATHER.pm
UPD FHEM/59_PROPLANTA.pm
UPD FHEM/66_ECMD.pm
UPD FHEM/71_YAMAHA_AVR.pm
UPD FHEM/72_FRITZBOX.pm
UPD FHEM/98_HMinfo.pm
UPD FHEM/98_XmlList.pm
UPD www/gplot/EnO_A5-20-01.gplot
UPD www/gplot/EnO_airPressure4.gplot
UPD www/gplot/EnO_brightness4.gplot
UPD www/gplot/EnO_motion.gplot
UPD www/gplot/EnO_motion3.gplot
UPD www/gplot/EnO_temp4.gplot
UPD www/gplot/EnO_temp4brightness4.gplot
UPD www/gplot/EnO_temp4humi6.gplot
UPD www/gplot/EnO_voltage4.gplot
UPD www/gplot/EnO_voltage4current4.gplot
Danke
Gruss Stefan
Hallo John
Hab jetzt nach mehreren Versuchen doch alle Module aktualisieren können.
--------------------------
Got remote controlfile with 1604 entries.
Got local controlfile with 1604 entries.
nothing to do...
---------------------
Ich hab noch gesehen, dass von frühreren Versuchen her ein paar Files unter gplotfiles stehen
SVG_Kostal.File_1.gplot
SVG_Kostal.File_2.gplot
SVG_Kostal.File_2_1.gplot
SVG_Kostal.File_3.gplot
SVG_Kostal.File_4.gplot
Stören die ?
Danke
Stefan
Bräuchte ein wenig Nachdenkhilfe bei diesem Modul.
Die gelieferten Daten sind einfach nur klasse, danke dafür!
Ich habe eine SMA, und kann somit den WR nicht über das Modul auslesen. Allerdings lasse ich mir die Daten vom Modul liefern.
Wenn ich es richtig verstanden habe, wird im Modul die Globalstrahlung als Global.Radiation dargestellt. Wenn ich das richtig verstanden habe aus der WIKI sind das die KW pro m².
Die Sonnenscheindauer, wird in % zum Tag angegeben.
Wenn ich also den Voraussichtlichen Ertrag errechnen will:
ZitatGlobal.Radiation * PV m² = ertrag an diesem Tag bei 100 % Sonneneinstrahlung, die nie sein kann da die Sonne irgendwann unter geht.
Ich muss also den Gesamtertrag erst auf 1 % runter rechnen und dann mir der Sonnenstrahlung multiplizieren
Zitat((Global.Radiation * PV m²) / 100)* sunshine.duration = Tagesertrag ohne Abzug von Verschattungen und Neigung usw.
Ergo dieser Wert muss dann noch berichtigt werden um die Abweichungen der Anlage, z.B. 10%
Zitat(((Global.Radiation * PV m²) / 100)* sunshine.duration)/100)*90=realistischer Ertrag.
Ich rechne das hier deswegen so vor, weil ich die Werte verstehen will. Wäre für Anregungen dankbar und kann es denn über einen DOIF in eine Dummy übergeben... wenn ich es verstanden haben.
Hi noanda,
laut Wiki
Expected Energy = <PV-Fläche> * GlobalStrahlung * Systemnutzungsgrad
Die Fläche deiner PV-Anlage kennst du.
Die Globalstrahlung wird über Proplanta ermittelt und stellt den Erwartungswert über den ganzen Tag dar.
Der Systemnutzungsgrad sollte in der technischen Doku zu deiner PV-Anlage zu finden sein.
John
Ok Danke, das war die Frage.
also wird sunshine.duration in GlobalStrahlung schon berücksichtigt, was die rechnereri um ein vielfaches einfacher macht :-)
Moin John.
Danke für den Hinweis. Ich habe heute mal den Wechselrichter ans Netz angeschlossen und mir die Seite anzeigen lassen. Es scheint wohl so, dass es mehr eine grafische Darstellung ist. Ich habe sie mal angehängt.
Schöne Grüße
Frank
Zitat von: John am 15 Oktober 2015, 23:09:52
Hi Frank,
das geht wohl nicht.
Das vorliegende Modul ruft direkt HTML-Seiten des Wechselrichters Kostalpiko auf und entnimmt dort die Werte.
Da jeder Hersteller die WEB-Seiten anders aufbaut funktioniert das Modul nur für den genannten Wechselrichter.
Sollte dein Wechselrichter die interessierenden Werte ebenfalls als HTML-Seite präsentieren, so kannst du das vorliegende Modul als
vorlage für deine eigene Implementierung verwenden, wenn du entsprechende Perl-Kenntnisse hast.
John
Hallo John
Gibt es eine einfache Möglichkeit noch einmal bei "Null" anzufangen ?
Ich hab schone einiges probiert, bin aber nich lange nicht fit.
Welche EInträge müssen unbeding ins FHEM.cfg
danke
Stefan
Wird der Fehler mit den 2 String Wechselrichtern noch geändert oder sollte ich mir einfach eine Kopie anlegen mit anderen Namen um die Zwangs Updates zu verhindern? ::)
@Crawler
Schick mir bitte einen Diff gegen die aktuelle Version, dann führ ich das Thema nach.
John
Habe mich mit der Änderung von erwin beholfen
#line 716ff:
# $rdName = "generator.$strang.voltage" if ( $tag eq "Spannung" && $index == 1 );
# $rdName = "output.$strang.voltage" if ( $tag eq "Spannung" && $index == 2 );
$rdName = "generator.$strang.voltage" if ( $tag eq "Spannung" && $index == 1 && $strang < 3);
$rdName = "output.$strang.voltage" if ( $tag eq "Spannung" && ($index == 2 || $strang == 3));
obwohl es jetzt scheinbar nicht mehr funktioniert ???
http://forum.fhem.de/index.php/topic,24409.msg232186.html#msg232186
er hatte eine Änderung vorgeschlagen im Anhang
http://forum.fhem.de/index.php/topic,24409.msg257323.html#msg257323
Hier mal die html seite
@Crawler oder ander Piko 7 Anwender
Ich habe nun den Patch von Erwin eingebaut und bitte diesen mit einem Piko 7 zu testen. (siehe Anhang)
John
Hi John,
Läuft mit einem PIKO 7 seit 2 Stunden !
Danke erwin
Hallo erwin,
besten Dank für den Patch und die Unterstützung.
Hab eben die neue Version eingechecked.
John
Modul schon drinne? hab gerade ein update gemacht und die Readings gelöscht.
Bei mir ist der Fehler immer noch ???
Die aktuelle Version ist 2.08
John
Heute nochmal update gemacht.
Läuft super ;)
Danke auch an Erwin & John für die Mühe
Guten Abend,
ich habe vor kurzem die aktuelle Software auf meinen Kostal erhalten.
FHEM habe ich erst danach eingesetzt.
Kann es sein, dass meine Software zu neu ist?
2016.03.18 21:32:03 3: KOSTALPIKO Kostal: StatusRun.593 --- started ---
2016.03.18 21:32:03 4: KOSTALPIKO Kostal: StatusHtmlAcquire.515 http://pvserver:pvwr@10.0.0.7/index.fhtml
2016.03.18 21:32:03 4: KOSTALPIKO Kostal: SensorHtmlAcquire.457 http://pvserver:pvwr@10.0.0.7/Info.fhtml
2016.03.18 21:32:03 3: KOSTALPIKO Kostal: StatusRun.646 --- done ---
2016.03.18 21:32:03 3: KOSTALPIKO Kostal: StatusDone.665 --- started --- with numStrings:0
2016.03.18 21:32:03 5: KOSTALPIKO Kostal: StatusDone.668 values:
2016.03.18 21:32:03 4: KOSTALPIKO Kostal: StatusDone.823 ModeNum: 9 upd:0
2016.03.18 21:32:03 4: KOSTALPIKO Kostal: StatusDone.823 state: W: - upd:0
2016.03.18 21:32:03 3: KOSTALPIKO Kostal: StatusDone.836 --- done ---
UI06.11
FW05.35
HW0100
PAR02.49
Serial numberXXXXXXXXXX
Articel number101XXXXX
Country settingGermany NSR (20.13)
Die URLs, wenn ich auf den Kostal gehe lauten allerdings z.B.: http://10.0.0.7/#/info/versions die im Log angegeben führen zu einer Fehlerseite.
Normal muss die ip im Bereich des Heimnetzes liegen um überhaupt erreichbar zu sein
wenn die Fritzbox zb 192.168.178.1 hat müsste der pvserver eigentlich eine ip mit 192.168.178.XXX bekommen
Bei mir das gleiche Problem. Die IPs stimmen. nur komme ich nicht auf die index.fhtml.
Meine PIKO10 URLs sehen auch so aus 192.xxx.xxx.xxx/#/home
An den IPs liegt es bei mir nicht, da "Internet of Things" Devices bei mir grundsätzlich in einem separatem VLAN sind.
Über den Browser komme ich drauf. Es haben sich scheinbar die URLs geändert durch das Firmware Update.
s. auch hier: https://forum.fhem.de/index.php/topic,43396.0.html
Hallo,
ich habe einen Wechselrichter per lan an fhem angebunden.
Nun sind die 3 Wechselrichter per RS485 untereinander verbunden und über das Webinterface des per lan angebundenen wr lassen sich die Werte der anderen beiden abrufen.
Ist es möglich die Werte der beiden anderen wr über das Modul abzurufen oder gibt das Modul das nicht her?
Gruß Steven
Hallo, ich habe zwei Wechselrichter (nicht miteinander verbunden). Somit habe ich zwei Web Frontends.
Ich habe zwei Fragen:
Kann das Modul die Werte von zwei Quellen aggregieren und zusammengefasst bereitstellen?
Kann das Modul die Eigenverbrauchssteuerung simulieren, wie sie im Wechselrichter über den Schaltausgang bereitgestellt wird (Schwellwerte usw. und Auslösung dann über events / notify in fhem) ?
Danke und Gruß
ZitatKann das Modul die Werte von zwei Quellen aggregieren und zusammengefasst bereitstellen?
Nein
ZitatKann das Modul die Eigenverbrauchssteuerung simulieren, wie sie im Wechselrichter über den Schaltausgang bereitgestellt wird (Schwellwerte usw. und Auslösung dann über events / notify in fhem) ?
Nein
John
Hallo,
Es gibt ja in Zwischen den Piko 6/8/10 BA mit Batteriespeicher.
Hat das Modul bereits jemand mit den Wechselrichter getestet?
Den Wechselrichtern kann man soweit ich weiß sagen ab wann Sie den Pufferspeicher zum Einspeisen verwenden sollen.
Was meint ihr, könnte man das Modul um die Funktion erweitern?
Frage nur mal Vorab, die Wechselrichter sind leider nicht bei mir sondern bei einem Nachbarn.
Das Problem ist das der Wechselrichter mit der Batterie bereits den Strom aus der Batterie nimmt obwohl die Anderem Fünf noch genug Strom liefern und Kostal kann da keine Lösung liefern.
Ich dachte eventuell kann ich das mit Fhem regeln.
Danke für eure Unterstützung.
Gruß
Max
bitte im wiki das userreading anpassen. für Anfäger wirds sonst schwierig :)
Hm klappt bei mir auch nicht. Schaut aber doch gar nicht so falsch aus??
attr Kostal userReadings EnergyExpected:Global.Radiation {return ReadingsVal ("Kostal","Global.Radiation",0)*37*0.10;;}
Hi,
ich denke es sollte mit
..... EnergyExpected:Global.Radiation.* {return Readings.....
funktionieren. Da war vor langer Zeit eine Änderung bez. userReadings.
Im command-ref steht:
If <trigger> is given, then all processing for this specific user reading is only done if one of the just updated "reading: value" combinations matches <trigger>, which is treated as a regexp.
Bei mir geht's jedenfalls so!
l.g. erwin
hmm also ich habs nu so drin :
EnergyExpected:Global.Radiation.* {return ReadingsVal ("SOLAR","Global.Radiation",0)*37*0.10;;}
Aber ein EnergyExpected reading taucht noch nicht auf. Im Log ist auch nichts an fehlern zu sehen.
@ChrisW
versuch bitte Folgendes: (wenn dein KostalPiko den Namen SOLAR hat)
attr SOLAR userReadings EnergyExpected { return ReadingsVal("SOLAR","Global.Radiation",0)*37*0.10;;}
John
Danke aber passiert auch nichts
@ChrisW
Das reading Global.Radiation wird upgedatet UND erzeugt events?
Evtl. verhindert ein event-on-change-reading od. event-on-update-reading Attribut das erzeugen von events?
Viel fällt mir dazu nicht mehr ein..
l.g. erwin
hmm ne hab ich alles nicht drin. Hier mal ein list:
Internals:
DEF 192.168.2.51 pvserver 123456
NAME SOLAR
NR 606
STATE W: 187 - Einspeisen (MPP)
TYPE KOSTALPIKO
VERSION 2.08
READINGS:
2017-10-14 09:26:37 AC.Power 187
2017-10-14 09:26:37 AC.Power.Fast 187
2017-10-14 09:26:37 Daily.Energy 0.15
2017-10-13 23:00:55 Daily.Energy.Last 11.60
2017-10-14 09:18:24 Global.Radiation 3.1
2017-10-14 08:07:34 Mode Einspeisen (MPP)
2017-10-14 08:06:34 ModeNum 9
2017-10-13 17:30:44 Total.Energy 441014
2017-10-14 09:18:24 UV.Index 4
2017-10-14 09:26:37 generator.1.current 0.34
2017-10-14 09:26:37 generator.1.voltage 610
2017-10-14 09:22:37 generator.2.current 0.00
2017-10-14 09:26:37 generator.2.voltage 611
2017-10-13 18:34:46 output.1.power 0
2017-10-14 09:26:37 output.1.voltage 226
2017-10-13 17:45:45 output.2.power 0
2017-10-14 09:23:37 output.2.voltage 227
2017-10-14 09:26:37 output.3.power 187
2017-10-14 09:19:37 output.3.voltage 227
2017-10-14 09:25:37 sensor.1 0.01
2017-10-14 09:26:37 sensor.2 0.01
2017-10-14 09:22:37 sensor.3 0.00
2017-10-10 15:05:06 sensor.4 9.99
2017-10-14 09:26:37 state W: 187 - Einspeisen (MPP)
2017-10-14 09:18:24 sunshine.duration 75
helper:
GRHour 25
Host 192.168.2.51
Pass 123456
TimerGR SOLAR.GR
TimerGRInterval 3600
TimerInterval 60
TimerStatus SOLAR.STATUS
User pvserver
delayCounter 0
Attributes:
GR.Interval 3600
GR.Link http://www.proplanta.de/Wetter/Schwalmtal+%28Niederrhein%29-Wetter-Heute.html
delay 60
room STROM
userattr EnergyExpected { return ReadingsVal("SOLAR","Global.Radiation",0)*37*0.10;;}
verbose 2
@ChrisW
ersetzte diesen Ausdruck
userattr EnergyExpected { return ReadingsVal("SOLAR","Global.Radiation",0)*37*0.10;;}
durch diesen
userReadings EnergyExpected { return ReadingsVal("SOLAR","Global.Radiation",0)*37*0.10;;}
und alles wird gut.
Ich habe dein Beispiel umgesetzt und es funktioniert wie erwartet.
defmod SOLAR KOSTALPIKO 192.168.2.10 pvserver xxxx
attr SOLAR GR.Interval 3600
attr SOLAR GR.Link http://www.proplanta.de/Wetter/Schwalmtal+%28Niederrhein%29-Wetter-Heute.html
attr SOLAR delay 180
attr SOLAR userReadings EnergyExpected { return ReadingsVal("SOLAR","Global.Radiation",0)*37*0.10;;}
attr SOLAR verbose 5
oha alles klar ich hab userattr genommen ......... eieiei sorry nun läufts
Hallo,
seit gestern Abend liefert mir das Modul keine Ertragserwartungswerte mehr. Im Log sind folgende Meldungen:
2017.10.26 13:36:31 3: KOSTALPIKO Ertragserwartung: Set.389 set command: captureGlobalRadiation
2017.10.26 13:36:31 3: KOSTALPIKO Ertragserwartung: GrStart.925 --- started ---
2017.10.26 13:36:31 3: KOSTALPIKO Ertragserwartung: GrStart.938 --- done ---
2017.10.26 13:36:31 3: KOSTALPIKO Ertragserwartung: GrRun.953 --- started ---
2017.10.26 13:36:32 1: KOSTALPIKO Ertragserwartung: GrHtmlAcquire.906 Error: Can't get http://www.proplanta.de/Wetter/Puchheim+%28Oberbayern%29-Wetter-Heute.html -- 500 Access to 'https' URIs has been disabled
2017.10.26 13:36:32 3: KOSTALPIKO Ertragserwartung: GrRun.977 --- done ---
2017.10.26 13:36:32 3: KOSTALPIKO Ertragserwartung: GrDone.992 --- started ---
2017.10.26 13:36:32 3: KOSTALPIKO Ertragserwartung: GrDone.1040 --- done ---
Ein Aufruf der Webseite funktioniert aber, URL ist richtig.
Ist die Fehlerursache ähnlich demhier beschriebenen Problem:
https://forum.fhem.de/index.php/topic,78497.0.html (https://forum.fhem.de/index.php/topic,78497.0.html)
Gruß
Klaus
Habe das Problem gefixt, wird demnächst eingecheckt.
Wer es vorab selbst machen will: bei protocols_allowed ist https einzufügen und die URI ist entsprechend zu ändern.
also von
http://www.proplanta.de/Wetter/Straubing-Wetter-Heute.html
auf
https://www.proplanta.de/Wetter/Straubing-Wetter-Heute.html
___
bei Zeile 881:
my $agent = LWP::UserAgent->new(
env_proxy => 1,
keep_alive => 1,
protocols_allowed => ['http','https'],
timeout => 10,
agent => "Mozilla/5.0 (Windows NT 5.1) [de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4]"
);
John
Perfekt, Danke!!!
Ich habe einen Kostal PIKO 5.5 und den Wechselrichter soweit in FHEM integriert. Danke schonmal an die Macher des Moduls. Problem aktuell ist, dass er keine Daten von selbigen bekommt. Log schaut so aus: (*** wäre mein Passwort)
2018.01.11 21:18:05 4: KOSTALPIKO Kostal: StatusHtmlAcquire.507 http://pvserver:***@192.168.1.15/index.fhtml
2018.01.11 21:18:05 4: KOSTALPIKO Kostal: SensorHtmlAcquire.449 http://pvserver:***@192.168.1.15/Info.fhtml
2018.01.11 21:18:05 3: KOSTALPIKO Kostal: StatusRun.638 --- done ---
2018.01.11 21:18:05 3: KOSTALPIKO Kostal: StatusDone.657 --- started --- with numStrings:0
2018.01.11 21:18:05 5: KOSTALPIKO Kostal: StatusDone.660 values:
2018.01.11 21:18:05 4: KOSTALPIKO Kostal: StatusDone.815 ModeNum: 9 upd:0
2018.01.11 21:18:05 4: KOSTALPIKO Kostal: StatusDone.815 state: W: - upd:0
2018.01.11 21:18:05 3: KOSTALPIKO Kostal: StatusDone.828 --- done ---
Es werden keine Daten heruntergeladen. Wenn ich den Link im Browser eingebe Kommt folgende Meldung:
Sorry, the requested file does not exist on this server.
Der Webserver ist aber erreichbar. Also ich komme auf diesen und kann mir alles anschauen. Kann es sein, dass Kostal die UI verändert hat? Ich habe Version 6.32. Wenn ich die IP vom Wechselrichter eingebe ist die default URL: http://192.168.1.15/#/home
Diese Modul ist nur für die Wechselrichter mit alter SW-Version (altes Web-Layout) nicht für die neue mit neuem WEB-Layout oder? bin am überlegen ob ich meinen WR downgrade zur alten Version hat das schon jemand gemacht?
Gibt es schon eine Möglichkeit die Wechselrichter mit neuer Oberfläche einzubinden?
Habe einen Piko 6.0 BA aber in Fhem kommen nur "ModeNum" und "state" als Readings an...
Internals:
CFGFN
DEF 192.168.1.50 pvserver pvwr
NAME Kostal
NR 2331
STATE W: -
TYPE KOSTALPIKO
VERSION 2.08
Readings:
2018-06-10 11:43:25 EnergyExpected 0
2018-06-10 11:22:25 ModeNum 9
2018-06-10 11:22:25 state W: -
Helper:
GRHour 25
Host 192.168.1.50
Pass pvwr
TimerGR Kostal.GR
TimerGRInterval 3600
TimerInterval 60
TimerStatus Kostal.STATUS
User pvserver
delayCounter 0
Attributes:
GR.Interval 3600
GR.Link https://www.proplanta.de/Wetter/Wackersdorf-Wetter-Heute.html
delay 60
userReadings EnergyExpected { return ReadingsVal("Kostal","Global.Radiation",0)*32*0.10;}
verbose 5
Also wenn ich das richtig verstanden habe, dann können die Kostal-WR mit Firmware > 6 ihre Daten alle auch als JSON zurückliefern, damit sollte man das auch alles sehr einfach mit HTTPMOD abfragen können. Mein eigener Kostal wird hoffentlich diese Woche noch in Betrieb gehen, dann werde ich das mal ausprobieren und mich hier zurückmelden.
Zitat von: wmr72 am 18 Juni 2018, 12:25:04
Also wenn ich das richtig verstanden habe, dann können die Kostal-WR mit Firmware > 6 ihre Daten alle auch als JSON zurückliefern, damit sollte man das auch alles sehr einfach mit HTTPMOD abfragen können. Mein eigener Kostal wird hoffentlich diese Woche noch in Betrieb gehen, dann werde ich das mal ausprobieren und mich hier zurückmelden.
Nun, es hat etwas länger gedauert als gehofft, aber mittlerweile läuft hier alles. Wie erwartet lässt sich der WR per JSON abfragen, hier meine HTTPMOD-Definition als Beispiel:
define KOSTAL HTTPMOD http://kostal.at.home/api/dxs.json?dxsEntries=16780032&dxsEntries=33556736&dxsEntries=33555201&dxsEntries=33555202&dxsEntries=33555203&dxsEntries=33555457&dxsEntries=33555458&dxsEntries=33555459&dxsEntries=33555713&dxsEntries=33555714&dxsEntries=33555715&dxsEntries=67109120&dxsEntries=251658754&dxsEntries=251658753&dxsEntries=251658496&dxsEntries=251658496&dxsEntries=83887872 60
attr KOSTAL userattr get01Regex get10Regex reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex reading05Name reading05Regex reading06Name reading06Regex reading07Name reading07Regex reading08Name reading08Regex reading09Name reading09Regex reading10Name reading10Regex reading11Name reading11Regex reading12Name reading12Regex reading13Name reading13Regex reading14Name reading14Regex reading15Name reading15Regex
attr KOSTAL reading01Name dc1_a
attr KOSTAL reading01Regex :33555201,"value":([\d\.]+)
attr KOSTAL reading02Name dc1_v
attr KOSTAL reading02Regex :33555202,"value":([\d\.]+)
attr KOSTAL reading03Name dc1_w
attr KOSTAL reading03Regex :33555203,"value":([\d\.]+)
attr KOSTAL reading04Name dc2_a
attr KOSTAL reading04Regex :33555457,"value":([\d\.]+)
attr KOSTAL reading05Name dc2_v
attr KOSTAL reading05Regex :33555458,"value":([\d\.]+)
attr KOSTAL reading06Name dc2_w
attr KOSTAL reading06Regex :33555459,"value":([\d\.]+)
attr KOSTAL reading07Name dc3_a
attr KOSTAL reading07Regex :33555713,"value":([\d\.]+)
attr KOSTAL reading08Name dc3_v
attr KOSTAL reading08Regex :33555714,"value":([\d\.]+)
attr KOSTAL reading09Name dc3_w
attr KOSTAL reading09Regex :33555715,"value":([\d\.]+)
attr KOSTAL reading10Name operation_status
attr KOSTAL reading10Regex :16780032,"value":([\d\.]+)
attr KOSTAL reading11Name ac_generator_w
attr KOSTAL reading11Regex :67109120,"value":([\d\.]+)
attr KOSTAL reading12Name yield_total_kwh
attr KOSTAL reading12Regex :251658753,"value":([\d\.]+)
attr KOSTAL reading13Name yield_day_wh
attr KOSTAL reading13Regex :251658754,"value":([\d\.]+)
attr KOSTAL reading14Name feed_in_time
attr KOSTAL reading14Regex :251658496,"value":([\d\.]+)
attr KOSTAL reading15Name ac_home_w
attr KOSTAL reading15Regex :83887872,"value":([-\d\.]+)
Die seltsamen Zahlenwerte für die dxsEntries in den Request-Parametern und deren Bedeutung muss man sich aus der Webseite des WR rausholen oder aus der Doku zum WR (gibt's nur gegen Pseudo-NDA).
Hallo!
Klappt es bei dir mit dem Kostal Piko? Kannst du vielleicht ein wenig genau beschreiben was du getan hat? Und wie man z.B. an die ID's kommt?
Sorry, war mein Fehler. Hatte ein Syntax-Fehler.
Hier gibt es weiter ID's: https://www.photovoltaikforum.com/kostal-piko-neue-generation-auslesen-t115856.html#p1464129 (https://www.photovoltaikforum.com/kostal-piko-neue-generation-auslesen-t115856.html#p1464129)
Allerdings klappt es bei mir nicht, dass ich in einem rutsch alle IDs abfrage. Der Wechselrichter lässt irgendwann einfach welche weg. Kennt jemand das Problem? Wie habt ihr das gelöst?
Hallo,
ich habe seit einer Woche eine Kostal Plenticore plus. Ich habe das Modul KOSTALPIKO probiert und bekomme folgendes readings.
ModeNum 9
state W: -
Das heißt, dass das login funktioniert, aber nicht die richtigen Daten abgerufen werden. Kann mir jemand helfen das ans laufen zu bringen?
vielen Dank
Nach eigenen langen Versuchen habe ich eine Lösung gefunden. Ich habe meinen Kostal Plenticore plus über das Modul ModbusAttr eingebunden. Ich werde die Detail dazu in einen neuen Thred schreiben.
jemand ein Tipp wie ich die WATT Ausgabe der AC.Power als kW in das Log bekomme ? also nicht 1000 Watt sondenr 1.00 kW
An den Entwickler des Modules,
erstmal ein Danke für das Modul es läuft wirklich top.
Aber einen kleinen Schönheitsfehler hat es, wenn man den Wechselrichter Powerstocc Excellent 3.6 nutzt.
Das Reading für den zweiten String ,,generator.2.voltage" wird als ,,output.2.voltage" erkannt. Werte stimmen aber für den zweiten String wenn man es mit dem webif vergleicht.
Vielleicht könnte man das noch ändern das es richtig angezeigt wird.
Danke schon mal im Voraus
Gruß
Ronny
Gesendet von iPhone mit Tapatalk
Hallo,
ich hätte da auch noch einen Verbesserungsvorschlag bzw. eine Idee:
Bisher werden die Daten im Modul KOSTALPIKO über die "Weboberfläche" abgeholt. Ich selber hole die Daten als JSON Ausgabe per HTTPMOD.
Ich bin darauf gekommen, da es für Android eine APP gibt. Da habe ich die Kommunikation mit dem WR über die App "Packet Capture" mitgeschnitten und gesehen, dass hier kein Login erforderlich ist. Auch das abholen der Daten geht über diesen Weg recht flott.
Da ich FHEM Neuling bin sieht meine Definition zwar nicht so schön aus, macht aber was sie soll. Wie man das, vorallem mit den Readings, schöner machen kann weiß ich leider (noch) nicht.
Vielleicht ist das auch für die anderen Kostal WR noch eine Alternative..
Nachfolgend meine Definition:
defmod Pikoread HTTPMOD http://192.168.2.185/api/dxs.json?dxsEntries=83887106&dxsEntries=83887362&dxsEntries=83887618&dxsEntries=251658754&dxsEntries=251658753&dxsEntries=67109379&dxsEntries=67109635&dxsEntries=67109891 10
attr Pikoread userattr getHeader1 getHeader2
attr Pikoread event-on-change-reading .*
attr Pikoread extractAllJSON 1
attr Pikoread getHeader1 Content-Type: application/json
attr Pikoread getHeader2 Accept: */*
attr Pikoread room HPSU_Debug,Haus
attr Pikoread stateFormat {"Ertrag: ".sprintf("%.3f", ReadingsVal($name, "Akt_Ertrag", 0)/1000)." kW"." Überschuss: ".sprintf("%.3f", ReadingsVal($name, "Akt_Ueberschuss", 0)/1000)." kW"}\
attr Pikoread userReadings Akt_Ertrag { ReadingsNum($name, "dxsEntries_06_value", 0)+ReadingsNum($name, "dxsEntries_07_value", 0)+ReadingsNum($name, "dxsEntries_08_value", 0) },\
Akt_Verbrauch { ReadingsNum($name, "dxsEntries_01_value", 0)+ReadingsNum($name, "dxsEntries_02_value", 0)+ReadingsNum($name, "dxsEntries_03_value", 0) },\
Akt_Ueberschuss { ReadingsNum($name, "Akt_Ertrag", 0)-ReadingsNum($name, "Akt_Verbrauch", 0) }
setstate Pikoread Ertrag: 1.464 kW Überschuss: 1.293 kW
setstate Pikoread 2019-08-29 09:33:28 Akt_Ertrag 1463.513824
setstate Pikoread 2019-08-29 09:33:28 Akt_Ueberschuss 1293.371122
setstate Pikoread 2019-08-29 09:33:28 Akt_Verbrauch 170.142702
setstate Pikoread 2019-08-29 09:33:28 dxsEntries_01_dxsId 83887106
setstate Pikoread 2019-08-29 09:33:28 dxsEntries_01_value 62.862335
setstate Pikoread 2019-08-29 09:33:28 dxsEntries_02_dxsId 83887362
setstate Pikoread 2019-08-29 09:33:28 dxsEntries_02_value 77.75325
setstate Pikoread 2019-08-29 09:33:28 dxsEntries_03_dxsId 83887618
setstate Pikoread 2019-08-29 09:33:28 dxsEntries_03_value 29.527117
setstate Pikoread 2019-08-29 09:33:28 dxsEntries_04_dxsId 251658754
setstate Pikoread 2019-08-29 09:33:28 dxsEntries_04_value 1344.781006
setstate Pikoread 2019-08-29 09:33:28 dxsEntries_05_dxsId 251658753
setstate Pikoread 2019-08-29 09:33:28 dxsEntries_05_value 11027.424805
setstate Pikoread 2019-08-29 09:33:28 dxsEntries_06_dxsId 67109379
setstate Pikoread 2019-08-29 09:33:28 dxsEntries_06_value 488.983154
setstate Pikoread 2019-08-29 09:33:28 dxsEntries_07_dxsId 67109635
setstate Pikoread 2019-08-29 09:33:28 dxsEntries_07_value 487.604492
setstate Pikoread 2019-08-29 09:33:28 dxsEntries_08_dxsId 67109891
setstate Pikoread 2019-08-29 09:33:28 dxsEntries_08_value 486.926178
setstate Pikoread 2019-08-29 09:33:28 session_roleId 0
setstate Pikoread 2019-08-29 09:33:28 session_sessionId 0
setstate Pikoread 2019-08-29 09:33:28 status_code 0
Gruß
Axel
Danke für die Tipps hier, da das Modul selbst bei meinem Piko 17 mit FW >6 auch nix anzeigt, habe ich die verschiedenen HTTPMOD Vorschläge genutzt und die Excel aus diesem Post https://forum.fhem.de/index.php/topic,43396.msg505046.html#msg505046.
Die Definition sieht bei mir nun so aus:
defmod wr HTTPMOD none
attr wr userattr get01Name get01Poll:0,1 get01URL getHeader1 getHeader2 reading01JSON reading01Name reading02JSON reading02Name reading03JSON reading03Name reading04JSON reading04Name reading05JSON reading05Name reading06JSON reading06Name reading07JSON reading07Name reading08JSON reading08Name reading09JSON reading09Name reading10JSON reading10Name reading11JSON reading11Name reading12JSON reading12Name reading13JSON reading13Name reading14JSON reading14Name reading15JSON reading15Name reading16JSON reading16Name reading17JSON reading17Name
attr wr DbLogInclude GridLimitation,GridOutputPower,dcPowerPV,operatingStatus
attr wr extractAllJSON 0
attr wr get01Name allData
attr wr get01Poll 60
attr wr get01URL http://192.168.47.11/api/dxs.json?dxsEntries=67109120&dxsEntries=67110656&dxsEntries=67110144&dxsEntries=33555202&dxsEntries=33555201&dxsEntries=33555203&dxsEntries=33555458&dxsEntries=33555457&dxsEntries=33555459&dxsEntries=33555714&dxsEntries=33555713&dxsEntries=33555715&dxsEntries=33556736&dxsEntries=67109120&dxsEntries=16780032&dxsEntries=251658754&dxsEntries=251658753&
attr wr getHeader1 Content-Type: application/json
attr wr getHeader2 Accept: */*
attr wr reading01JSON dxsEntries_01_value
attr wr reading01Name GridOutputPower
attr wr reading02JSON dxsEntries_02_value
attr wr reading02Name GridCosPhi
attr wr reading03JSON dxsEntries_03_value
attr wr reading03Name GridLimitation
attr wr reading04JSON dxsEntries_04_value
attr wr reading04Name dc1Voltage
attr wr reading05JSON dxsEntries_05_value
attr wr reading05Name dc1Current
attr wr reading06JSON dxsEntries_06_value
attr wr reading06Name dc1Power
attr wr reading07JSON dxsEntries_07_value
attr wr reading07Name dc2Voltage
attr wr reading08JSON dxsEntries_08_value
attr wr reading08Name dc2Current
attr wr reading09JSON dxsEntries_09_value
attr wr reading09Name dc2Power
attr wr reading10JSON dxsEntries_10_value
attr wr reading10Name dc3Voltage
attr wr reading11JSON dxsEntries_11_value
attr wr reading11Name dc3Current
attr wr reading12JSON dxsEntries_12_value
attr wr reading12Name dc3Power
attr wr reading13JSON dxsEntries_13_value
attr wr reading13Name dcPowerPV
attr wr reading14JSON dxsEntries_14_value
attr wr reading14Name acPower
attr wr reading15JSON dxsEntries_15_value
attr wr reading15Name operatingStatus
attr wr reading16JSON dxsEntries_16_value
attr wr reading16Name Yield_Day
attr wr reading17JSON dxsEntries_17_value
attr wr reading17Name Yield_Total
attr wr room Photovoltaik
attr wr stateFormat {sprintf("%.f W", ReadingsVal($name,"GridOutputPower",0))}
die Dinger sprechen nicht alles, musst per csv auslesen obwohl alles andere angepriesen wird..
define KaCo_Real HTTPMOD http://192.168.178.118/realtime.csv 300
setuuid KaCo_Real 5e454e75-f33f-20ab-8fca-ae1b7203e54cca97
attr KaCo_Real userattr disable event-on-change-reading reading01Name reading01OExpr reading01Regex reading02Name reading02OExpr reading02Regex reading03Name reading03OExpr reading03Regex reading04Name reading04OExpr reading04Regex reading05Name reading05OExpr reading05Regex reading06Name reading06OExpr reading06Regex reading07Name reading07OExpr reading07Regex reading08Name reading08OExpr reading08Regex reading09Name reading09OExpr reading09Regex reading10Name reading10OExpr reading10Regex reading11Name reading11OExpr reading11Regex reading12Name reading12OExpr reading12Regex reading13Name reading13OExpr reading13Regex reading14Name reading14Regex reading15Name reading15Regex reading16Name reading16OExpr reading16Regex stateFormat timeout
attr KaCo_Real disable 0
attr KaCo_Real reading01Name AC_LEISTUNG
attr KaCo_Real reading01OExpr sprintf("%.2f", $val / (65535.0 / 100000.0))
attr KaCo_Real reading01Regex [0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;([0-9]+);;[0-9]+;;[0-9]+
attr KaCo_Real reading02Name DC_STROM1
attr KaCo_Real reading02OExpr sprintf("%.2f", $val / (65535.0 / 200.0))
attr KaCo_Real reading02Regex [0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;([0-9]+);;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+
attr KaCo_Real reading03Name GERAETETEMPERATUR
attr KaCo_Real reading03OExpr $val / 100.0
attr KaCo_Real reading03Regex [0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;([0-9]+);;[0-9]+
attr KaCo_Real reading04Name DC_STRING2SPANNUNG
attr KaCo_Real reading04OExpr sprintf("%.2f", $val / (65535.0 / 1600.0))
attr KaCo_Real reading04Regex [0-9]+;;[0-9]+;;([0-9]+);;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+
attr KaCo_Real reading05Name DC_STROM2
attr KaCo_Real reading05OExpr sprintf("%.2f", $val / (65535.0 / 200.0))
attr KaCo_Real reading05Regex [0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;([0-9]+);;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+
attr KaCo_Real reading06Name AC_STROM3
attr KaCo_Real reading06OExpr sprintf("%.2f", $val / (65535.0 / 200.0))
attr KaCo_Real reading06Regex [0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;([0-9]+);;[0-9]+;;[0-9]+;;[0-9]+
attr KaCo_Real reading07Name STRING2_LEISTUNG
attr KaCo_Real reading07OExpr sprintf("%.2f", ReadingsVal($name,"DC_STRING2SPANNUNG",0) * ReadingsVal($name,"DC_STROM2",0))
attr KaCo_Real reading07Regex ()
attr KaCo_Real reading08Name STRING1_LEISTUNG
attr KaCo_Real reading08OExpr sprintf("%.2f", ReadingsVal($name,"DC_STRING1SPANNUNG",0) * ReadingsVal($name,"DC_STROM1",0))
attr KaCo_Real reading08Regex ()
attr KaCo_Real reading09Name AC_STROM2
attr KaCo_Real reading09OExpr sprintf("%.2f", $val / (65535.0 / 200.0))
attr KaCo_Real reading09Regex [0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;([0-9]+);;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+
attr KaCo_Real reading10Name AC_PHASENSPANNUNG2
attr KaCo_Real reading10OExpr sprintf("%.2f", $val / (65535.0 / 1600.0))
attr KaCo_Real reading10Regex [0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;([0-9]+);;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+
attr KaCo_Real reading11Name AC_PHASENSPANNUNG1
attr KaCo_Real reading11OExpr sprintf("%.2f", $val / (65535.0 / 1600.0))
attr KaCo_Real reading11Regex [0-9]+;;[0-9]+;;[0-9]+;;([0-9]+);;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+
attr KaCo_Real reading12Name AC_STROM1
attr KaCo_Real reading12OExpr sprintf("%.2f", $val / (65535.0 / 200.0))
attr KaCo_Real reading12Regex [0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;([0-9]+);;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+
attr KaCo_Real reading13Name DC_STRING1SPANNUNG
attr KaCo_Real reading13OExpr sprintf("%.2f", $val / (65535.0 / 1600.0))
attr KaCo_Real reading13Regex [0-9]+;;([0-9]+);;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+
attr KaCo_Real reading14Name STATUS
attr KaCo_Real reading14Regex [0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;([0-9]+)
attr KaCo_Real reading15Name KaCo_Real.csv
attr KaCo_Real reading15Regex ([0-9;;]+)
attr KaCo_Real reading16Name AC_PHASENSPANNUNG3
attr KaCo_Real reading16OExpr sprintf("%.2f", $val / (65535.0 / 1600.0))
attr KaCo_Real reading16Regex [0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;([0-9]+);;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+;;[0-9]+
attr KaCo_Real room PV
attr KaCo_Real stateFormat P:AC_LEISTUNG W/h - T:GERAETETEMPERATUR °C
attr KaCo_Real timeout 10
define FileLog_KaCo_Real FileLog ./log/KaCo_Real-%Y-%m.log KaCo_Real
setuuid FileLog_KaCo_Real 5e454e75-f33f-20ab-5110-5412f3d9418a8f0e
attr FileLog_KaCo_Real room PV
define SVG_FileLog_KaCo_Real_1 SVG FileLog_KaCo_Real:SVG_FileLog_KaCo_Real_1:CURRENT
setuuid SVG_FileLog_KaCo_Real_1 5e454ea4-f33f-20ab-598c-f33e9d6f4fd4a606
attr SVG_FileLog_KaCo_Real_1 label "Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr SVG_FileLog_KaCo_Real_1 room GRAPH,PV
Im Moment regnet es und mein Kostal Piko 5.5 hat einen Isolationsfehler :-X
In FHEM wird das so angezeigt:
W: 0 - St�rung Isolationsfehler
Scheint ein UFT-8 Problem zu sein.
Eine einfache Lösung könnte latin1ToUtf8 bei Zeile 770 sein:
} # foreach
$hashValues{"Mode"} = latin1ToUtf8($hashValues{"Mode"});
# add the state for reading update
$rdValue = "W: " . $hashValues{"AC.Power"} . " - " . $hashValues{"Mode"};
Ev. gibt es einen besseren Ort diese Umweandlung anzuweden, vielleicht in der foreach Schleife. Da Mode das einizige Reading mt Umlaut zu sein scheint, ist es auch so besser als vorher.
Danke und Gruss
Stefan
Hallo,
wir haben seit ein paar Tagen unsere Photovoltaikanlage. Dazu wurde ein Kostal PIKO IQ10.0 verbaut.
Entsprechend dem Wiki habe ich :
define Kostal KOSTALPIKO 192.168.2.96 <user> <password>
attr Kostal GR.Interval 3600
attr Kostal GR.Link https://www.proplanta.de/Wetter/xxxxxxx.html
attr Kostal delay 60
attr Kostal room 23_Solar
attr Kostal userReadings EnergyExpected:Global.Radiation { return ReadingsVal("Kostal","Global.Radiation",0)*50*0.10;;}
Die "neue" Oberfläche des Wechselrichters bietet mir nur zwei User zur Auswahl: Anlagenbetreiber oder Installateur.
man muss nun
define Kostal KOSTALPIKO 192.168.2.96 pvserver <password>
nehmen.
Zumindest werden so erste Daten angezeigt. Wenn auch aktuell noch nicht alle Attribute.
Grüße
Jörg
Hallo Jörg,
ich habe deine PM:
ZitatWir hast du das define gemacht?
Du hast ja anscheinend die weboberfläche abgegriffen. Woher hast du dxsEntries Werte genau aus der WebOberfläche??? Die finde ich in den Einstellungen nicht
hier beantwortet.
Ich habe das KOSTAL Modul nicht im Einsatz. Ich habe die Kommunikation wie beschrieben mit dem "Packet Capture" auf meinem Android Phone mitgeschnitten. Da konnte ich sehen, dass die Kostal App alles über HTTP im JSON Format abholt. So konnte ich durch die Mitschnitte über die APP "Packet Capture" die dxsEntries sehen und dadurch herausfinden, welche Werte was bedeuten.
Meiner Meinung nach ist die HTTP Abfrage die elegantere. Ich vermute Mal das ich an dem Tag einen Geistesblitz gehabt habe, als ich auf die Idee kam, das mit der gefundenen "Packet Capture" mitzuschneiden ;D
Da ich suchfaul war, habe ich zu dem Zeitpunkt auch nicht gesehen, dass es bereits ein Kostal Modul gegeben hat ;)
Zu deinem Wechselrichter kann ich nichts sagen. Ich habe einen Kostal PIKO und keinen IQ. Vermutlich musst du das bei deinem neu entschlüsseln.
Gruß
Axel
Hallo,
ich habe als WR einen "PIKO 3.6-2 MP plus" im Einsatz. Beim Einrichten des Moduls habe ich ein Problem. Mein WR benötigt keinen Nutzer/Passwort um an die Webseite zu kommen. Das Modul benötigt diese aber zum Einrichten. Gibt es dafür einen work-a-round?
Im Augenblick frage ich den WR via HTTPMOD ab. Das gefällt und reicht mir nicht. Ich möchte gerne das Modul nutzen.
Vielen Dank und viele Grüße
Torsten Sothmann
Hallo zusammen,
ich werde mal hier weitermachen, vielleicht kann mir hier jemand helfen. Ich habe in Anfängerfragen bereit einen Anlauf mit "kann KOSTALPIKO nicht auslesen" gestartet. betateilchen hat mich allerdings darauf hingewiesen, daß ich im falschem Unterforum sei. Hier der Text:#
Ich besitze seit 2 Tg. einen KostalPiko plus. das Gerät läuft seit gestern zur Zufriedenheit. Ein Modul KOSTALPIKO hbe ich bereit erstell. Die Solarparameter werden schon ermittelt und ins Logfile beschrieben. Die Webseite des Gerätes kann ich über die passene IP auf dem PC darstellen. Allerdings kann ich die Parameter aus dem Wechselrichter nicht auslesen. Ich erhalte im Log die Meldung:
2023.07.15 19:03:46 1: KOSTALPIKO Wechselrichter: SensorHtmlAcquire.459 Can't get http://pvserver:pvwr@192.168.0.8/Info.fhtml -- 404 Not found
Liegt es daran, daß nicht auf SensorHtmlAcqire.459 zugreifen kann weil eine best. Einstellung noch fehlt oder macht //pvserver:pvwr nicht passt. Ich habe bei der Inbetrienahme kein Passwort o.ä. eingegeben?
Hier mein Script:
#
define Wechselrichter KOSTALPIKO 192.168.0.8 pvserver pvwr
setuuid Wechselrichter 64b2a1d7-f33f-f2de-293e-16f0de009d67521e
attr Wechselrichter GR.Interval 360
attr Wechselrichter GR.Link http://www.proplanta.de/Wetter/Geldern-Wetter-Heute.html
attr Wechselrichter delay 60
attr Wechselrichter delayCounter 0
attr Wechselrichter room PowerMeter
attr Wechselrichter userReadings EnergyExpected {return ReadingsVal ("Wechselrichter","Global.Radiation",0)*37*0.10;;;;}
attr Wechselrichter verbose 1
#
define FileLog_Wechselrichter FileLog ./log/Wechselrichter-%Y-%m.log Wechselrichter:(AC.Power:|Daily.Energy:|Daily.Energy.Last:|Total.Energy:|ModeNum:|EnergyExpected:|Global.Radiation:|UV.Index:|sunnshine.duration:|state:).*
setuuid FileLog_Wechselrichter 64b2ae66-f33f-f2de-6204-1f1ac443fde650cf
attr FileLog_Wechselrichter logtype text
attr FileLog_Wechselrichter room Diagramm.log
#
define SVG_FileLog_Wechselrichter SVG FileLog_Wechselrichter:SVG_FileLog_Wechselrichter.File_1:CURRENT
setuuid SVG_FileLog_Wechselrichter 64b2ae95-f33f-f2de-0023-834c983d14d205b9
attr SVG_FileLog_Wechselrichter alias Energy
attr SVG_FileLog_Wechselrichter fixedrange day
attr SVG_FileLog_Wechselrichter label "Bezug $data{currval1}kWh, Export $data{currval2}kWh, P-ges. $data{currval6}W, P-L1 $data{currval3}W, P-L2 $data{currval4}W, P-L3 $data{currval5}W, RSSI -$data{currval7}dBm "
attr SVG_FileLog_Wechselrichter plotsize 1100,200
attr SVG_FileLog_Wechselrichter room PowerMeter
#
Ich weiß, KOSTALPIKO gibt es schon lange. Mein alter Wechselrichter ist gestorben und ich musste Esatz haben. Der KostalPiko plus war gerade verfügbar und ist, hoffe ich, ein brauchbares Gerät.
Vielleicht kann mir ja jemand helfen. Daß würde mich sehr freuen. Im Voraus herlichen Dak für eure Bemühungen
Harald
Der Vollständigkeit halber hättest Du ruhig auch meine erste Antwort zu deinen Fragen hier posten können...
Zitat von: Harald am 15 Juli 2023, 19:30:142023.07.15 19:03:46 1: KOSTALPIKO Wechselrichter: SensorHtmlAcquire.459 Can't get http://pvserver:pvwr@192.168.0.8/Info.fhtml -- 404 Not found
Das bedeutet schlicht, dass es an der Adresse 192.168.0.8 keine Webseite mit dem Namen Info.fhtml gibt.
Zitat von: Harald am 15 Juli 2023, 19:30:14Liegt es daran, daß nicht auf SensorHtmlAcqire.459 zugreifen kann weil eine best. Einstellung noch fehlt oder macht //pvserver:pvwr nicht passt. Ich habe bei der Inbetrienahme kein Passwort o.ä. eingegeben?
...
define Wechselrichter KOSTALPIKO 192.168.0.8 pvserver pvwr
Du gibts im define aber einen usernamen (pvserver) und ein passwort (pvwr) mit. Offenbar scheint das aber kein Problem zu sein, denn sonst käme nicht ein Fehler 404 zurück sondern 401 oder 403.
Zitat von: Harald am 15 Juli 2023, 19:30:14Ich weiß, KOSTALPIKO gibt es schon lange. Mein alter Wechselrichter ist gestorben und ich musste Esatz haben. Der KostalPiko plus war gerade verfügbar und ist, hoffe ich, ein brauchbares Gerät.
Was ich Dir nicht beantworten kann: ob das Modul überhaupt mit Deinem neuen Gerät zurecht kommt. Für mich liest es sich so, dass Du Dein vorhandenes Gerät gegen ein anderes ("plus" - Nachfolger?) ersetzt hast.
Grundsätzlich sei angemerkt, dass es zu Kostalpiko derzeit keinen Maintainer mehr gibt und Du nicht mit allzu viel Support rechnen solltest.
Zitat von: betateilchen am 17 Juli 2023, 09:29:13Das bedeutet schlicht, dass es an der Adresse 192.168.0.8 keine Webseite mit dem Namen Info.fhtml gibt.
Wie rufst Du denn die Webseite Deines Wechselrichters manuell im Browser auf?
Welche URL wird dann dargestellt und wie sieht die Seite aus?
Evtl. liegt auch hier der Fehler:
http://pvserver:pvwr@192.168.0.8/Info.fhtml -- 404 Not found
^
|
|
Naja, das steht aber tatsächlich so im Modulcode
"http://" . $hash->{helper}{User} . ":" . $hash->{helper}{Pass} . "\@" . $hash->{helper}{Host} . "/Info.fhtml";
und da es ja vorher schon funktionierte, scheint das nicht grundsätzlich falsch zu sein.
Deshalb ja meine zwei Fragen, ob die "Plus Variante" jetzt ein anderes Gerät ist als vorher, das vielleicht mit dem Modul gar nicht funktioniert und die Frage nach der URL bei manuellem Aufruf.
Danke euch für die Infos,
soweit verstehe ich das. Das Modul läuft nicht ohne User/PW und mit kann der Wechserichter nichts mit der Anfrage anfangen und somit die Seite nicht liefern. Vielleicht meldet sich noch jemand, der damals John bei der Entwicklung des Moduls unterstützt hat. Die Software des Gerätes hat sich offensichtlich geändert.
Ich werde mal sehen, ob und wie ich da eine Lösung finden kann. Wenn es klappt, werde ich hier berichten.
Viele Grüße und bis später
Harald
Warum beantwortest Du nicht die einfachen Fragen, die man Dir stellt, um Dir vielleicht weiterhelfen zu können?
Zitat von: betateilchen am 18 Juli 2023, 10:52:59Wie rufst Du denn die Webseite Deines Wechselrichters manuell im Browser auf?
Welche URL wird dann dargestellt und wie sieht die Seite aus?
Zitat von: Harald am 19 Juli 2023, 18:53:51Das Modul läuft nicht ohne User/PW und mit kann der Wechserichter nichts mit der Anfrage anfangen und somit die Seite nicht liefern.
Wie kommst Du zu dieser Erkenntnis? Meine Meinung nach liegst Du da falsch.
Wie ich schon geschrieben hatte:
Zitat von: betateilchen am 17 Juli 2023, 09:29:13Zitat von: Harald am 15 Juli 2023, 19:30:142023.07.15 19:03:46 1: KOSTALPIKO Wechselrichter: SensorHtmlAcquire.459 Can't get http://pvserver:pvwr@192.168.0.8/Info.fhtml -- 404 Not found
Das bedeutet schlicht, dass es an der Adresse 192.168.0.8 keine Webseite mit dem Namen Info.fhtml gibt.
Und wenn es die Seite grundsätzlich nicht gibt, dann gibt es sie weder mit User/Passwort noch ohne User/Passwort.
Hallo betateilchen,
herzlichen Dank, daß du mir helfen möchtest. Ich bin natürlich auch nicht untätig gewesen und habe gefunden, daß Kostal zur Entstehungszeit des Moduls wohl eine andere Software beinhaltet hat. Damals konnte man auf die Daten mittels HTTP und User/PW (wie John es verwendet hat "http://" . $hash->{helper}{User} . ":" . $hash->{helper}{Pass} . "\@" . $hash->{helper}{Host} . "/Info.fhtml") zugreifen. Heute sind User/PW nicht mehr nötig und die Seitenaufrufe haben sich auch geändert. Ob das immer noch über HTTP geht vermute ich, hab aber noch nicht gefunden ,wie die Seiten adressiert werden müssen und welche überhaupt zur Verfügung stehen. Über http://ip/all.xml habe ich die Parameter schon abgerufen. Auch habe ich gelesen, daß es über json funktioniert, habs aber selbst noch nicht probiert.
So nun zu deinen Fragen:
1. Nach der Eingabe von HTTP://192.168.x.y bzw. http://192.168.0.x.y/pages/main.html oder der Klick auf das Lesezeichen "#1 PICO 2.0-1MP plus" erscheint eine Webseite, in der man in einem kleinen Fenster verschiedene Werte, Einstellungen und Informationen Schritt für Schritt wählen kann sowie außerdem einige anderen Buttons wie Events, Update,Info usw. angezeigt bekommt.
2./3. John fragt Name,IP,User,PW im Modul ab und wenn nicht alle vorhanden sind, läuft es nicht. Sind alle vorhanden, erhält das Gerät über o.g. Befehlskette u.a. User und PW, - die sind nicht bekannt - sowie den Seitenaufruf /Info.fhtml. Diese gibt es nicht mehr, deshalb Fehler 404 Not found
Ich hoffe, nun deine Fragen beantwortet zu haben. Entschuldige bitte, wenn ich nicht die genauen Bezeichnungen benutzt haben sollte, aber ich hoffe, du verstehst, was ich gemeint habe.
Nun kennst du meinen derzeitigen Wissensstand. Ich würde Johns Modul gerne zum Laufen bringen, aber da muß ich noch viel lernen.
Viele Grüße vom unteren Niederrhein und schönes Wochenende
Harald
Zitat von: Harald am 21 Juli 2023, 15:43:38Über http://ip/all.xml habe ich die Parameter schon abgerufen. Auch habe ich gelesen, daß es über json funktioniert
Wenn das bedeutet, dass Du über diese URL an die gesuchten Werte kommst, bliebe als Alternative zum Kostalpiko Modul ja immer noch die Variante über JsonMod oder HTTPMOD.
Das wäre vermutlich einfacher, als das alte Modul entsprechend umzubauen.
Danke für die Tipps. Die werde ich mir mal genauer ansehen. Vielleicht ist da ja was dabei, womit ich eine Lösung finde.
Recht herzlichen Dank für alles. Wenn ich eine Lösung gefunden habe, werde ich mich hier wieder melden.
Alles Gute weiterhin und viel Spaß mit FHEM
Harald
Hallo,
hat jemand das Modul schon mal mit einem Kostal Piko 15 ans laufen bekommen? Die Beiden aufgerufenen Seiten gibt es bei dem Piko15 scheinbar nicht, bei beiden kommt eine Fehlermeldung vom Wechselrichter "Sorry, the requested file does not exist on this server."
2023.10.07 14:43:59 1: PERL WARNING: Use of uninitialized value $rdValue in string eq at ./FHEM/23_KOSTALPIKO.pm line 779.
2023.10.07 14:43:59 1: PERL WARNING: Use of uninitialized value $rdValue in string eq at ./FHEM/23_KOSTALPIKO.pm line 778.
2023.10.07 14:43:59 1: PERL WARNING: Use of uninitialized value $rdValue in string eq at ./FHEM/23_KOSTALPIKO.pm line 777.
2023.10.07 14:43:59 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/23_KOSTALPIKO.pm line 771.
2023.10.07 14:43:59 5: KOSTALPIKO Piko01: StatusDone.660 values:
2023.10.07 14:43:59 3: KOSTALPIKO Piko01: StatusDone.657 --- started --- with numStrings:0
2023.10.07 14:43:59 3: KOSTALPIKO Piko01: StatusRun.638 --- done ---
2023.10.07 14:43:59 4: KOSTALPIKO Piko01: SensorHtmlAcquire.449 http://pvserver:mypass@192.168.2.99/Info.fhtml
2023.10.07 14:43:59 4: KOSTALPIKO Piko01: StatusHtmlAcquire.507 http://pvserver:mypass@192.168.2.99/index.fhtml
Zitat von: John am 25 Februar 2016, 22:30:08@Crawler oder ander Piko 7 Anwender
Ich habe nun den Patch von Erwin eingebaut und bitte diesen mit einem Piko 7 zu testen. (siehe Anhang)
John
Hallo,
dieser Patch ist schon einige wenige Jahre alt. Ich habe seit geraumer Zeit einen PIKO 3.6 in Betrieb, mich aber bisher noch nicht um die einzelnen Springs gekümmert. Nun wollte ich mir das einmal anschauen. Der PIKO 3.6 hat zwei Eingänge und einen Ausgang, sie Screenshot im Anhang.
Nach meinem Verständnis macht die Version mit der Änderung für den PIKO 7 leider das Einlesen beim PIKO 3.6 kaputt, denn mir werden folgende Readings angezeigt:
generator.1.current
generator.1.voltage
generator.2.current
output.1.power
output.1.voltage
output.2.voltage
Wenn ich in der 23_KOSTALPIKO.pm die Änderungen zurücknehme und die ursprüngliche Version einsetze, funktioniert es wie gewünscht (für jeden Generator einmal Voltage und einmal Current und für den einen Output einmal Power und einmal Voltage).
$rdName = "generator.$strang.voltage" if ( $tag eq "Spannung" && $index == 1 );
$rdName = "output.$strang.voltage" if ( $tag eq "Spannung" && $index == 2 );
Wie man alle drei Möglichkeiten (gleich viele Ein- und Ausgänge, weniger Eingänge als Ausgänge und weniger Ausgänge als Eingänge) berücksichtigen kann, übersteigt leider meine Programmierfähigkeiten ... vielleicht muss man die Wechselrichtervariante abfragen? In der HTML-Datei steht die ja drin. Andererseits hat sich bisher niemand beklagt, soweit ich das gesehen habe – und ich kann mit der zurückgepatchten Datei leben. :-)
Danke für das Modul und viele Grüße
Christian