FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: ChrisW am 06 November 2018, 12:05:25

Titel: TabletUI / Chart / FIlelog : Einheit Watt in kW formatieren ?
Beitrag von: ChrisW am 06 November 2018, 12:05:25
Hallo,
habe das Problem ich habe einmal Hausverbrauch : 1.00 kW wird dies ausgegeben für meine SOlaranlage wird aber Watt ausgegeben 1000 W.. wie kann ich die SOlaranlage umformatieren das wiese auch 1.00kW anzeigt ?
Kann ich dies direkt im Tabletui script oder muss da sim Filelog passieren?

Tabletui:
<div data-type="chart"
data-logdevice='["EnergieD","SOLAR.File"]'
data-columnspec='["7:Hausstrom.W:.*","4:AC.Power:.*"]'
data-style='["ftui l0fill","ftui l1fill"]'
data-ptype='["lines","histeps"]'
data-uaxis='["primary","secondary"]'
data-legend='["Verbrauch","Solar"]'
data-yunit="kW"
data-ytext="Verbrauch (kW)"
data-minvalue="auto"
data-maxvalue="auto"
data-yunit_sec="kw"
data-ytext_sec="Solar (kW)"
data-height="250"
data-yticks="auto"
data-minvalue_sec="auto"
data-maxvalue_sec="auto"
data-nofulldays="true"
data-cursorgroup="1"
data-scrollgroup="1"
data-xticks="auto">
</div>


Oder im SOLAR Device besser?
Internals:
   DEF        192.168.2.51 pvserver MEINPW
   NAME       SOLAR
   NR         624
   STATE      W: 3326 - Einspeisen (MPP)
   TYPE       KOSTALPIKO
   VERSION    2.10
   .attraggr:
   .attrminint:
   .userReadings:
     HASH(0x4e238a8)
   READINGS:
     2018-11-06 12:06:47   AC.Power        3326
     2018-11-06 12:06:47   AC.Power.Fast   3326
     2018-11-06 12:06:47   Daily.Energy    5.43
     2018-11-05 23:00:35   Daily.Energy.Last 6.72
     2018-11-06 12:06:47   EnergyExpected  6.66
     2018-11-06 11:37:16   Global.Radiation 1.8
     2018-11-06 07:46:40   Mode            Einspeisen (MPP)
     2018-11-06 07:45:42   ModeNum         9
     2018-11-06 11:55:48   Total.Energy    448055
     2018-11-06 11:37:16   UV.Index        2
     2018-11-06 12:06:47   generator.1.current 5.59
     2018-11-06 12:06:47   generator.1.voltage 623
     2018-11-06 12:06:47   generator.2.current 0.02
     2018-11-06 12:06:47   generator.2.voltage 623
     2018-11-06 12:06:47   output.1.power  1103
     2018-11-06 12:06:47   output.1.voltage 228
     2018-11-06 12:06:47   output.2.power  1112
     2018-11-06 12:06:47   output.2.voltage 229
     2018-11-06 12:06:47   output.3.power  1111
     2018-11-06 12:06:47   output.3.voltage 229
     2018-11-06 12:00:49   sensor.1        0.00
     2018-11-06 12:04:49   sensor.2        0.00
     2018-11-06 12:06:47   sensor.3        0.01
     2017-10-10 15:05:06   sensor.4        9.99
     2018-11-06 12:06:47   state           W: 3326 - Einspeisen (MPP)
     2018-11-06 11:37:16   sunshine.duration 50
   helper:
     GRHour     25
     Host       192.168.2.51
     Pass       MEINPW
     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
   userReadings EnergyExpected { return ReadingsVal("SOLAR","Global.Radiation",0)*37*0.10;;}
   verbose    2
Titel: Antw:TabletUI / Chart / FIlelog : Einheit Watt in kW formatieren ?
Beitrag von: eki am 06 November 2018, 13:09:32
Es gibt verschiedene Möglichkeiten:

1. Du definierst ein Userreading, in welchem Du den Wert des Readings, das den Watt Wert enthält, durch tausend dividierst.
attr SOLAR userreading AC.powerKW:AC.Power{ReadingsVal($NAME,'AC.Power','0')/1000;}
In diesem Fall wird dann ein zusätzlicher Wert mit den Kilowatt Angaben ins Logfile geschrieben (vorausgesetzt Du hast das Log nicht entsprechend über RegEx eingeschränkt. Im Chart musst Du dann statt AC.Power in der Columnspec AC.PowerKW eintragen.

2. Du machst die Umrechnung direkt in der Columnspec. Dann werden in FHEM keine zusätzlichen Dinge erzeugt, sonder die Umrechnung passiert beim Abholen der Werte im FHEM. Die Columnspect müsste dann in etwa so aussehen:
data-columnspec='["7:Hausstrom.W:.*","4:AC.Power:0:$val=($fld[3]*/1000)"]'


Beides hat Vor- und Nachteile, ich würde 2. empfehlen.
Titel: Antw:TabletUI / Chart / FIlelog : Einheit Watt in kW formatieren ?
Beitrag von: ChrisW am 06 November 2018, 13:47:12
Danke sowas wie data-columnspec='["7:Hausstrom.W:.*","4:AC.Power:0:$val=($fld[3]*/1000)"]' hab ich mir da vorgestellt leider kann er keinen Wert auslesen ... hab schon bisschen gespielt .* usw. aber bekomme es nicht hin Log schaut so aus:
2018-11-06_13:45:03 SOLAR AC.Power: 2875
Titel: Antw:TabletUI / Chart / FIlelog : Einheit Watt in kW formatieren ?
Beitrag von: eki am 07 November 2018, 11:54:49
Da hatte ich noch einen Fehler, muss natürlich nicht */ sondern nur / heißen.

data-columnspec='["7:Hausstrom.W:.*","4:AC.Power:0:$val=($fld[3]/1000)"]'
Titel: Antw:TabletUI / Chart / FIlelog : Einheit Watt in kW formatieren ?
Beitrag von: ChrisW am 07 November 2018, 12:17:04
Danke und das Userreading ? Ich habe da schon etwas drin stehen
   userReadings EnergyExpected { return ReadingsVal("SOLAR","Global.Radiation",0)*37*0.10;;}
Titel: Antw:TabletUI / Chart / FIlelog : Einheit Watt in kW formatieren ?
Beitrag von: eki am 07 November 2018, 12:35:10
mehrere userreadings werden einfach mit ',' getrennt hintereinander gehängt (siehe commandref). Aber Du brauchst ja nur das eine (userreading) oder das andere (columnspec).
Titel: Antw:TabletUI / Chart / FIlelog : Einheit Watt in kW formatieren ?
Beitrag von: ChrisW am 07 November 2018, 12:43:55
Jep das hatte ich rausgefunden aber es taucht nichts auf
so schaut es aktuell aus:
EnergyExpected { return ReadingsVal("SOLAR","Global.Radiation",0)*37*0.10;;},
AC.powerKW:AC.Power{ReadingsVal($NAME,'AC.Power','0')/1000;}


Ich weiss aber ich habe noch ein Label in Tabletui daher will ich es doch per userreading machen
Titel: Antw:TabletUI / Chart / FIlelog : Einheit Watt in kW formatieren ?
Beitrag von: eki am 07 November 2018, 12:50:56
Müsste eigentlich gehen. Das neue Userreading erscheint allerdings erst, wenn sich auch der entsprechende Event auftritt (wenn sich also das Reading AC.Power ändert).
Titel: Antw:TabletUI / Chart / FIlelog : Einheit Watt in kW formatieren ?
Beitrag von: ChrisW am 07 November 2018, 12:55:36
hmm leider nicht auch kein Fehler im log :(
Internals:
   DEF        192.168.2.51 pvserver meinpw
   NAME       SOLAR
   NR         624
   STATE      W: 2579 - Einspeisen (MPP)
   TYPE       KOSTALPIKO
   VERSION    2.10
   .attraggr:
   .attrminint:
   .userReadings:
     HASH(0x5341ad0)
   READINGS:
     2018-11-07 12:54:22   AC.Power        2579
     2018-11-07 12:54:22   AC.Power.Fast   2579
     2018-11-07 12:54:22   Daily.Energy    7.04
     2018-11-06 23:00:18   Daily.Energy.Last 14.39
     2018-11-07 12:54:22   EnergyExpected  4.44
     2018-11-07 12:54:22   Global.Radiation 1.2
     2018-11-07 07:44:00   Mode            Einspeisen (MPP)
     2018-11-07 07:44:00   ModeNum         9
     2018-11-07 12:32:57   Total.Energy    448071
     2018-11-07 12:54:22   UV.Index        2
     2018-11-07 12:54:22   generator.1.current 4.17
     2018-11-07 12:54:22   generator.1.voltage 649
     2018-11-07 12:54:22   generator.2.current 0.01
     2018-11-07 12:54:22   generator.2.voltage 649
     2018-11-07 12:54:22   output.1.power  849
     2018-11-07 12:50:59   output.1.voltage 228
     2018-11-07 12:54:22   output.2.power  866
     2018-11-07 12:54:22   output.2.voltage 229
     2018-11-07 12:54:22   output.3.power  864
     2018-11-07 12:43:58   output.3.voltage 229
     2018-11-07 12:54:22   sensor.1        0.00
     2018-11-07 12:54:22   sensor.2        0.00
     2018-11-07 12:45:58   sensor.3        0.00
     2017-10-10 15:05:06   sensor.4        9.99
     2018-11-07 12:54:22   state           W: 2579 - Einspeisen (MPP)
     2018-11-07 12:54:22   sunshine.duration 25
   helper:
     GRHour     25
     Host       192.168.2.51
     Pass       meinpw
     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
   userReadings EnergyExpected { return ReadingsVal("SOLAR","Global.Radiation",0)*37*0.10;;},
AC.powerKW:AC.Power{ReadingsVal($NAME,'AC.Power','0')/1000;}
   verbose    2
Titel: Antw:TabletUI / Chart / FIlelog : Einheit Watt in kW formatieren ?
Beitrag von: eki am 07 November 2018, 14:38:56
was passiert, wenn Du es genauso wie beim ersten machst. Also:


attr SOLAR userreadings  EnergyExpected { return ReadingsVal("SOLAR","Global.Radiation",0)*37*0.10;;}, AC.powerKW:AC.Power { return ReadingsVal($NAME,'AC.Power','0')/1000;;}
Titel: Antw:TabletUI / Chart / FIlelog : Einheit Watt in kW formatieren ?
Beitrag von: ChrisW am 07 November 2018, 14:45:14
hmm hab ich auch schon mal versucht hab gerade nochmal versucht auch shutdown restart. Werte ändern sich aber das reading taucht nicht auf ... komisch
Titel: Antw:TabletUI / Chart / FIlelog : Einheit Watt in kW formatieren ?
Beitrag von: eki am 07 November 2018, 16:14:31
Ich habe es jetzt mal mit einem Dummy Device bei mir probiert. Es scheint irgendwie Probleme mit dem Format mit ':' zu geben. Probier mal:

attr SOLAR userreadings  EnergyExpected { return ReadingsVal($NAME,"Global.Radiation",0)*37*0.10;;}, AC.powerKW { return ReadingsVal($NAME,'AC.Power','0')/1000;;}
Titel: Antw:TabletUI / Chart / FIlelog : Einheit Watt in kW formatieren ?
Beitrag von: ChrisW am 08 November 2018, 10:05:50
Vielen Dank so klappt es :)