KOSTAL - Leistung Pro String als Plot

Begonnen von Zwiebel, 23 Juni 2016, 09:56:15

Vorheriges Thema - Nächstes Thema

Zwiebel

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

Muschelpuster

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
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

Zwiebel

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

SofB

wie kommt ihr denn an die daten? das Modul funktioniert bei meinem piko 4.2 leider nicht was es im fhem gibt.
FHEM auf Debian Jessie VM - ESXi 6.0 Intel Nuc i5 4th Gen
HM-CFG-LAN | HM-CFG-USB | nanoCUL868 | nanoCUL433 | JeeLink868

Zwiebel

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

Vize

Hallo SofB,

für neuere Pikos gibt es hier ein paar Infos für dich, wie man z.B. per HTTPMOD an die Daten kommt.

Gruß
Andreas

SofB

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!
FHEM auf Debian Jessie VM - ESXi 6.0 Intel Nuc i5 4th Gen
HM-CFG-LAN | HM-CFG-USB | nanoCUL868 | nanoCUL433 | JeeLink868

Zwiebel

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