FHEM Forum

FHEM - Energiemanagement und Energieerzeugung => Solaranlagen => Thema gestartet von: Zwiebel am 23 Juni 2016, 09:56:15

Titel: KOSTAL - Leistung Pro String als Plot
Beitrag von: Zwiebel am 23 Juni 2016, 09:56:15
Hallo,

wie bekomme ich es hin das der Plot auch die String Leistung anzeigt?


2016-06-23_09:49:34 Kostal generator.2.voltage: 535
2016-06-23_09:50:34 Kostal generator.1.current: 5.76
2016-06-23_09:50:34 Kostal generator.1.voltage: 483
2016-06-23_09:50:34 Kostal generator.2.current: 0.40
2016-06-23_09:50:34 Kostal generator.2.voltage: 542
2016-06-23_09:51:34 Kostal generator.1.current: 5.77
2016-06-23_09:51:34 Kostal generator.2.current: 0.41
2016-06-23_09:51:34 Kostal generator.2.voltage: 534
2016-06-23_09:52:34 Kostal generator.1.current: 5.78


Ich möchte generator.1.current: * generator.1.voltage: und das dann plotten.

Gibt es da eine Möglichkeit ohne ein zusätzliches Reading?

viele Grüße
Zwiebel
Titel: Antw:KOSTAL - Leistung Pro String als Plot
Beitrag von: Muschelpuster am 23 Juni 2016, 10:10:19
Also ich würde da ein Reading bauen. Das ist schnell getan und so groß wird das Log dadurch auch nicht. Selbst wenn das in der Auswertung geht, dann wird die Performance bei der Berechnung wohl eher schlechter sein, als wenn ein etwas größeres Log mit den fertigen Werten durchsucht wird. Mein SMA liefert so viele Infos, die ich auch noch immer ungefiltert logge - das stört aber beim Plot nicht.

einfache Grüße
Niels
Titel: Antw:KOSTAL - Leistung Pro String als Plot
Beitrag von: Zwiebel am 23 Juni 2016, 14:35:54
Hallo

Danke Muschelpuster - Ich habe jetzt deine vorschlag umgesetzt. Aber leider geht das nur ab jetzt, und nicht für die bestehenden werte.


generator.1.power:generator.1.current.* { ReadingsVal ("Kostal","generator.1.voltage",0)* ReadingsVal ("Kostal","generator.1.current",0)},
generator.2.power:generator.2.current.* { ReadingsVal ("Kostal","generator.2.voltage",0)* ReadingsVal ("Kostal","generator.2.current",0)},
DC.Power:generator.1.current.* { ReadingsVal ("Kostal","generator.1.power",0) + ReadingsVal ("Kostal","generator.2.power",0)},
efficiency:DC.Power.*  { sprintf ("%.2f", ReadingsVal ("Kostal","AC.Power",0) * 100 / ReadingsVal ("Kostal","DC.Power",0))}


Vielleicht könnte das auch gleich das KOSTALPIKO Modul machen.

viele Grüße
Zwiebel
Titel: Antw:KOSTAL - Leistung Pro String als Plot
Beitrag von: SofB am 30 Juni 2016, 11:25:29
wie kommt ihr denn an die daten? das Modul funktioniert bei meinem piko 4.2 leider nicht was es im fhem gibt.
Titel: Antw:KOSTAL - Leistung Pro String als Plot
Beitrag von: Zwiebel am 01 Juli 2016, 09:06:30
Hallo SofB,

ich habe einen Kostal "PIKO-Wech­sel­richter - die be­währte Gen­er­a­tion" kann es sein das du ein neueres Modell hast? (PIKO-Wech­sel­richter - die neue Gen­er­a­tion)
Wann hast du deine PV Anlage installieren lassen?

viele Grüße
Zwiebel
Titel: Antw:KOSTAL - Leistung Pro String als Plot
Beitrag von: Vize am 01 Juli 2016, 13:18:17
Hallo SofB,

für neuere Pikos gibt es hier (https://forum.fhem.de/index.php/topic,43396.0.html) ein paar Infos für dich, wie man z.B. per HTTPMOD an die Daten kommt.

Gruß
Andreas
Titel: Antw:KOSTAL - Leistung Pro String als Plot
Beitrag von: SofB am 01 Juli 2016, 23:13:07
Ich habe einen Kostal Piko 4.2, der im Februar installiert wurde.
Neuste Firmware habe ich eingespielt letztes Wochenende.

Mit dem Link konnte ich es ebenfalls loesen und habe nun ein schoenes SVG erzeugt :)
vielen Dank!
Titel: Antw:KOSTAL - Leistung Pro String als Plot
Beitrag von: Zwiebel am 21 Juli 2016, 09:09:59
Hallo,

bei dem reading "efficiency" gab es wenn kein Strom erzeugt wurde immer eine Fehlermeldung.

2016-07-19_21:24:45 Kostal efficiency: Error evaluating Kostal userReading efficiency: Illegal division by zero at (eval 13133) line 1.


Mit einer kleine Veränderung wird das umgangen.

EnergyExpected:Global.Radiation.* { ReadingsVal ("Kostal","Global.Radiation",0)*58*0.08;;},
generator.1.power:generator.1.current.* { ReadingsVal ("Kostal","generator.1.voltage",0)* ReadingsVal ("Kostal","generator.1.current",0)},
generator.2.power:generator.2.current.* { ReadingsVal ("Kostal","generator.2.voltage",0)* ReadingsVal ("Kostal","generator.2.current",0)},
DC.Power:generator.1.current.* { ReadingsVal ("Kostal","generator.1.power",0) + ReadingsVal ("Kostal","generator.2.power",0)},
efficiency:DC.Power.*  { (ReadingsVal ("Kostal","DC.Power",0) > 0 ?  sprintf ("%.2f", ReadingsVal ("Kostal","AC.Power",0) * 100 / ReadingsVal ("Kostal","DC.Power",0)) : 0) }


Vielleicht kann es jemand ja brauchen.

Gruß
Zwiebel