Beim Auslesen meine PV Leistung kommen NEGATIVE Werte raus ,als z.B. -5120 Watt. Im Diagramm will ich aber positive Werte haben. Ebenso will ich 2 Readings (PV_Erzeugung MINUS Einspeisung ) voneinander abziehen und auch im Diagramm darstellen... Wer kann Helfen. Ich bin erst seit 1 Woche dabei...
Willkommen.
Bitte beachten:
https://forum.fhem.de/index.php/topic,71806.0.html
userReadings wäre das Stichwort. Mehr Infos - mehr Feedback ;)
Gruß Otto
Hallo,
ich weiss ja noch nicht so auf was es ankommt. Im USERRERADINGS steht ein Beispiel wie folgt: attr HZ_EINSTRAHLUNG_T userReadings SolarTemp {ReadingsVal("HZ_EINSTRAHLUNG_T","reading",0)/10 ." °C"}
Daraus hab ich folgendes gebastel:
attr powerfox_PV userReadings POS_Power_PV {ReadingsVal("Power_PV","reading",0)*-1""}
Ich will eigentlich nur das Vorzeichen des Power_PV Wertes ändern. Aber die Syntax ist wohl falsch. PERL kann ich leider (noch) nicht.
Vielleicht ist die Alternative einfacher für Dich: In den plotfiles lassen sich auch Funktionen benutzen. Für Deinen Fall sollte $fld[3]=-$fld[3] funktionieren.
Ich spekuliere, dass das userReadings so aussehen sollte
attr powerfox_PV userReadings POS_Power_PV:Power_PV {-ReadingsVal("powerfox_PV ","Power_PV",0)}
Grüße Markus
und das zweite wäre dann so in der Art - mangels Information natürlich nur geraten :)
differenz:Power_PV:.* {ReadingsNum("powerfox_PV ","Power_PV",0) - ReadingsNum("powerfox_PV ","Einspeisung",0)}
Hier wären jetzt noch Infos zu den Funktionen: https://fhem.de/commandref_DE.html#perl
ZitatAber die Syntax ist wohl falsch.
Du hast falsch abgeschrieben und und es hätte einen Fehler geben müssen :)
@Köln Solar: im Ploteditor hat das $fld[3]=-$fld[3] geholfen. Danke :) :) :)
Nur so zum Verständnis: woher weiss ich, dass das Argument der Wert $fld[3] sein soll. Als Newbe erschliesst sich mir das keineswegs :'(.
Die andere Lösung hat nix gebracht. Weiterhin keine Werte zum Anzeigen.
Zitat von: maxnomo am 25 April 2021, 12:04:06
Die andere Lösung hat nix gebracht. Weiterhin keine Werte zum Anzeigen.
Wie ist das zu verstehen?
Zitatwoher weiss ich, dass das Argument der Wert $fld[3]
Einfach mal die "Wörter" einer Zeile im Datenfile zählen, dann macht es Klick. ;) Der kWh-Wert ist das wievielte "Wort" ?
ZitatDie andere Lösung hat nix gebracht
Das liegt dann leider an Dir. :'( Ohne das konkrete Ergebnis eines
list devicename
können wir die Namen Deines devices u. dessen readings ja nur erraten. ???
Hallo,
ich hab im Logfile folgende Daten:
2021-04-26_10:22:30 powerfox_Verbr_Einsp power_V: -9265
2021-04-26_10:23:30 powerfox_PV power_PV: -9751
2021-04-26_10:23:30 powerfox_Verbr_Einsp power_V: -9199
2021-04-26_10:24:30 powerfox_PV power_PV: -9764
2021-04-26_10:24:30 powerfox_Verbr_Einsp power_V: -9189
2021-04-26_10:25:30 powerfox_PV power_PV: -9810
2021-04-26_10:25:30 powerfox_Verbr_Einsp power_V: -9259
2021-04-26_10:26:30 powerfox_PV power_PV: -9880
2021-04-26_10:26:30 powerfox_Verbr_Einsp power_V: -9304
2021-04-26_10:27:30 powerfox_PV power_PV: -9915
2021-04-26_10:27:30 powerfox_Verbr_Einsp power_V: -9365
2021-04-26_10:28:30 powerfox_PV power_PV: -9943
2021-04-26_10:28:30 powerfox_Verbr_Einsp power_V: -9466
2021-04-26_10:29:30 powerfox_PV power_PV: -9960
2021-04-26_10:29:30 powerfox_Verbr_Einsp power_V: -9534
2021-04-26_10:30:30 powerfox_PV power_PV: -9987
2021-04-26_10:30:30 powerfox_Verbr_Einsp power_V: -9500
2021-04-26_10:31:30 powerfox_PV power_PV: -10025
2021-04-26_10:31:30 powerfox_Verbr_Einsp power_V: -9520
2021-04-26_10:32:30 powerfox_PV power_PV: -10043
2021-04-26_10:32:30 powerfox_Verbr_Einsp power_V: -9541
Die beiden Messwerte sollen nun voneinander abgezogen werden und grafisch dargestellt werden.
Wie geht das ?
Danke
Hi,
mit meinem Vorschlag konntest Du nichts anfangen und den anpassen? Dazu ist eigentlich keine Perlkenntnis notwendig :)
Mein Vorschlag von Oben mangels Info
differenz:Power_PV:.* {ReadingsNum("powerfox_PV ","Power_PV",0) - ReadingsNum("powerfox_PV ","Einspeisung",0)}
So abgewandelt für stumpfes C&P ::)
attr powerfox_PV userReadings differenz:power_PV:.* {ReadingsNum("powerfox_PV","power_PV",0) - ReadingsNum("powerfox_Verbr_Einsp ","power_V",0)}
Das neue Reading differenz musst Du natürlich mit loggen und ins Diagramm bringen. :-X aber Du kannst das neue Reading natürlich auch Willi oder POS_Power_PV nennen.
Und wenn Du meine beiden Links nicht liest und auch beachtest - spiel ich nicht mehr mit >:(
Gruß Otto
Hallo,
habe die Strukturierung des FHEM wohl noch nicht verstanden. Das Web WIKI bringt hier nur Bits-and-Pieces aber keine für mich verständlich strukturierte Erklärung. Ich hätte gerne ne grafische Eräuterung mit denganzen Interdependenzen. Im Moment bin ich noch am Einlernen.
Wo muss dieser Befehl rein?
Danke f die Geduld
Hab das CpoyPaste probiert (nachdem die ganze Zeile zu sehen war, also vorigen Post bitte vergessen)
Fehlermeldung: powerfox_PV: bad attribute name 'differenz:power_PV:.*' (allowed chars: A-Za-z/\d_\.-)
Und nu?
Mein Fehler, habs korrigiert. :D
Auf der Wiki Startseite gibt es einen extra Kasten mit Erklärungen/Links für Anfänger. Suchst Du die hier? https://wiki.fhem.de/wiki/Erste_Schritte_in_FHEM
Du trägst entweder den relevanten Teils des Codes ins Attribute userReadings ein oder führst die Code Zeile in der FHEM Kommandozeile aus.
@otto: Danke. Nun klappt es wie gewünscht. Die Differenzen sind angezeigt. Auch der Vorzeichenwechsel klappt. :) :) :) Vielen Dank der Community
Das einzige was ich nicht verstehe ist die Syntax von $fld[3]=-$fld[3].
$ heisst Variable.
dann folgt ein Array mit dem 3. Element.
Aber woher weiss ich den Namen des Arrays: fld ???
Kann nichts finden..
Sonnige Grüsse
Steht hier im Wiki :)
https://wiki.fhem.de/wiki/Creating_Plots
Schneller verbreitet sich dieses Wissen durch die Community :) wenn's alle wissen ist es selbstverständlich und nicht mehr "der Rede wert" ;)