Negative Diagramm-Werte mit -1 multiplizieren und positive anzeigen

Begonnen von maxnomo, 24 April 2021, 19:35:23

Vorheriges Thema - Nächstes Thema

maxnomo

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...

Otto123

Willkommen.
Bitte beachten:
https://forum.fhem.de/index.php/topic,71806.0.html

userReadings wäre das Stichwort. Mehr Infos - mehr Feedback ;)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

maxnomo

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.

KölnSolar

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
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Otto123

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 :)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

maxnomo

@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.

Otto123

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?
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

KölnSolar

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. ???
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

maxnomo

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

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

maxnomo

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

maxnomo

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?

Otto123

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.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

maxnomo

@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

Otto123

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" ;)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz