Autor Thema: neues Modul 98_powerMap  (Gelesen 6579 mal)

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1788
  • RTFM
neues Modul 98_powerMap
« am: 19 Dezember 2016, 05:36:36 »
powerMap wurde mit Loredo als Maintainer ofiziell in fhem eingechecked. Die Doku ist in der commandref zu finden.
« Letzte Änderung: 22 Januar 2017, 17:45:45 von igami »
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: archetype, alexaWebApp, DaikinD3nIU, DaikinHTTPinterface, TBot_Dialog
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben.
Gefällt mir Gefällt mir x 2 Hilfreich Hilfreich x 1 Liste anzeigen

Offline jnewton957

  • Full Member
  • ***
  • Beiträge: 316
Antw:neues Modul 98_energy
« Antwort #1 am: 19 Dezember 2016, 16:29:46 »
Hallo,

hört sich gut an und ich würde das gerne verwenden.

Kannst du bitte mal ein komplettes Beispiel der CFG insbesodnere für das Attribut Powermap anhängen.
Wie muss dieses gefüllt werden, damit dein Modul das weiter verarbeiten kann.

Danke für die Infos

Jörg
FHEM5.8 auf Pi3
V 1.65 nanoCUL433 (IT)
nanoCUL JeeLink
V 1.66 nanoCUL868 (HM) (ESA2000WZ)
xELRO AB440, xDECT200, PCA301, xTFA30.3125, esp8266, HM, TabletUI, IR-Schreiblesekopf (Udo)

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1788
  • RTFM
Antw:neues Modul 98_energy
« Antwort #2 am: 19 Dezember 2016, 21:18:33 »
Kannst du bitte mal ein komplettes Beispiel der CFG insbesodnere für das Attribut Powermap anhängen.
Wie muss dieses gefüllt werden, damit dein Modul das weiter verarbeiten kann.
steht doch in der commandref ;)

hier die Raw definition von einer HUE white
Edit: habe noch "state.on" hinzugefügt, da beim einschalten pct nur aktualisiert wird, wenn es vorher nicht 100 war.
defmod HUEDevice2 HUEDevice 2  IODev=HUEBridge
attr HUEDevice2 IODev HUEBridge
attr HUEDevice2 alias Arbeitszimmer: Deckenlampe Leuchtmittel 1
attr HUEDevice2 color-icons 2
attr HUEDevice2 devStateIcon {(HUEDevice_devStateIcon($name),"toggle")}
attr HUEDevice2 event-on-change-reading energy,power,state
attr HUEDevice2 event-on-update-reading pct
attr HUEDevice2 group Beleuchtung
attr HUEDevice2 icon light_ceiling_light
attr HUEDevice2 model LWB006
attr HUEDevice2 powerMap "state.unreachable" => 0,\
"pct.0" => 0.4,\
"pct.10" => 1.2,\
"pct.20" => 1.7,\
"pct.30" => 1.9,\
"pct.40" => 2.3,\
"pct.50" => 2.7,\
"pct.60" => 3.4,\
"pct.70" => 4.7,\
"pct.80" => 5.9,\
"pct.90" => 7.5,\
"pct.100" => 9.2,\
"state.on" => 9.2
attr HUEDevice2 room Arbeitszimmer
attr HUEDevice2 subType dimmer
attr HUEDevice2 webCmd pct

Und hier noch die von meinem Modem
defmod modem dummy
attr modem alias Wohnzimmer: Modem
attr modem devStateIcon off:ios-off:on .*:ios-on-blue:off
attr modem group Unterschrank
attr modem icon it_router
attr modem powerMap "state.on" => 5.7,\
"state.off" => 0
attr modem room Wohnzimmer
« Letzte Änderung: 20 Dezember 2016, 06:03:28 von igami »
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: archetype, alexaWebApp, DaikinD3nIU, DaikinHTTPinterface, TBot_Dialog
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben.

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1788
  • RTFM
Antw:neues Modul 98_energy
« Antwort #3 am: 20 Dezember 2016, 19:13:44 »
Es ist noch ein grober Fehler in dem Modul, werde heute Abend mal überlegen wie ich den Beheben kann.
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: archetype, alexaWebApp, DaikinD3nIU, DaikinHTTPinterface, TBot_Dialog
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben.

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1788
  • RTFM
Antw:neues Modul 98_energy
« Antwort #4 am: 20 Dezember 2016, 21:20:21 »
Neue Version im ersten Beitrag.
- energy wird nun korrekt berechnet und aktualisiert
- Logging hinzugefügt

ToDo:
Unit.pm verwenden
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: archetype, alexaWebApp, DaikinD3nIU, DaikinHTTPinterface, TBot_Dialog
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben.

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1788
  • RTFM
Antw:neues Modul 98_energy
« Antwort #5 am: 21 Dezember 2016, 05:57:03 »
Besteht der Bedarf, dass nur ein energy Reading berechnet wird? Ich selbst habe da keinen Bedarf, kann mir aber vorstellen, dass es  Sensoren gibt die nur Leistung (power) messen, jedoch keinen Zähler für den Verbrauch haben.
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: archetype, alexaWebApp, DaikinD3nIU, DaikinHTTPinterface, TBot_Dialog
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben.

Offline dferch

  • New Member
  • *
  • Beiträge: 30
Antw:neues Modul 98_energy
« Antwort #6 am: 22 Dezember 2016, 17:59:23 »
Hi,

erstmal Danke für das Modul. Bei mir funktioniert die neuste Version nicht (161220). Ich erhalte folgende Fehlermeldung:

Too many arguments for main::energy_energy at ./FHEM/98_energy.pm line 163, near "$power)"
Und ich verstehe die Definition der Funktion energy_energy nicht so ganz. Das steht:

sub energy_energy($$;$);
Müsste das nicht so aussehen:

sub energy_energy($$$);
Viele Grüße,
David

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1788
  • RTFM
Antw:neues Modul 98_energy
« Antwort #7 am: 22 Dezember 2016, 18:06:25 »
Hallo David,

hast du die Meldung auch nach einem Neustart von fhem? Das "Problem" ist, dass die alten subs noch im Speicher sind. Die alte sub energy_energy hat nur zwei Argumente zugelassen.

Und ich verstehe die Definition der Funktion energy_energy nicht so ganz. Das steht:
Argumente nach einem Semikolon sind optional. Die sub wird beim ändern des power Readings mit 3 Argumenten aufgerufen, bei einem zyklischen Update aber nur mit 2 Argumenten.
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: archetype, alexaWebApp, DaikinD3nIU, DaikinHTTPinterface, TBot_Dialog
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben.

Offline dferch

  • New Member
  • *
  • Beiträge: 30
Antw:neues Modul 98_energy
« Antwort #8 am: 22 Dezember 2016, 19:52:26 »
Hi igami,

Dann versuche ich Morgen mal einen Restart von FHEM.
Und danke für die Erläuterung mit dem Semikolon - dessen Funktion kannte ich so noch nicht.

VG,
David


Gesendet von iPad mit Tapatalk

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1788
  • RTFM
Antw:neues Modul 98_energy
« Antwort #9 am: 22 Dezember 2016, 21:17:53 »
Dann versuche ich Morgen mal einen Restart von FHEM.
Auf die Rückmeldung freue ich mich schon :) Von allen anderen die das Modul bisher getestet haben natürlich auch  ;)

Bin momentan noch dabei ein ElectricityCalculator device passend für mehrere Zähler zu konfigurieren.
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: archetype, alexaWebApp, DaikinD3nIU, DaikinHTTPinterface, TBot_Dialog
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben.

Offline hartenthaler

  • Full Member
  • ***
  • Beiträge: 247
Antw:neues Modul 98_energy
« Antwort #10 am: 23 Dezember 2016, 00:01:00 »
Schön. Scheint zu funktionieren. Die Einheiten sind bei power wohl W und bei energy Wh oder? Ich werde mich morgen auch mal daran machen das in mein ElectricityCalculator einzubauen. Damit ist meine alte Lösung per EMONITOR dann wohl hinfällig. Den Modulnamen "energy" finde ich etwas vermessen generalisierend. Und es geht nicht nur um energy, sondern auch um power und es geht um monitoring. Für "energy" überlege ich mir gerade etwas in Richtung Carbon-Footprint, also CO2-Gesamtbilanz, also Stromverbrauch und Heizungsenergie und Mobilitätsenergie (Auto/Bahn/Flugreisen) zu erfassen und in Tonnen CO2 auszudrücken. Stromverbrauch geht einfach, bei Heizenergie braucht man noch Faktoren wie Energiegehalt des Erdgases oder Heizöls, CO2 für Flugreisen kann man eventuell aus einem Portal der Fluggesellschaft auslesen, zumindest wird es auf der Buchung immer mit angegeben. Dann kann man den persönlichen Energieverbrauch durch Strom, Heizung, Reisen in Relation setzen.
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1788
  • RTFM
Antw:neues Modul 98_energy
« Antwort #11 am: 23 Dezember 2016, 05:13:34 »
Schön. Scheint zu funktionieren. Die Einheiten sind bei power wohl W und bei energy Wh oder?
siehe commandref:
  • energy
    Ein Zähler für die bisher bezogene Energie in Wh.
  • power
    Die aktuelle Leistungsaufnahme des Gerätes in W.

Ich werde mich morgen auch mal daran machen das in mein ElectricityCalculator einzubauen. Damit ist meine alte Lösung per EMONITOR dann wohl hinfällig.
Da bin ich gespannt, ich komme da momentan nicht auf einen grünen Zweig. ElectricityCalculator überforfdert mich noch ein bisschen :D

Den Modulnamen "energy" finde ich etwas vermessen generalisierend. Und es geht nicht nur um energy, sondern auch um power und es geht um monitoring.
Für Vorschläge bin ich offen. Wie wäre es mit powerMap?

Für "energy" überlege ich mir gerade etwas in Richtung Carbon-Footprint, also CO2-Gesamtbilanz, also Stromverbrauch und Heizungsenergie und Mobilitätsenergie (Auto/Bahn/Flugreisen) zu erfassen und in Tonnen CO2 auszudrücken. Stromverbrauch geht einfach, bei Heizenergie braucht man noch Faktoren wie Energiegehalt des Erdgases oder Heizöls, CO2 für Flugreisen kann man eventuell aus einem Portal der Fluggesellschaft auslesen, zumindest wird es auf der Buchung immer mit angegeben. Dann kann man den persönlichen Energieverbrauch durch Strom, Heizung, Reisen in Relation setzen.
Das hört sich kompliziert an. Ich wünsche dir viel Erfolg bei der Umsetzung und warte gespannt :)
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: archetype, alexaWebApp, DaikinD3nIU, DaikinHTTPinterface, TBot_Dialog
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben.

Offline hartenthaler

  • Full Member
  • ***
  • Beiträge: 247
Antw:neues Modul 98_energy
« Antwort #12 am: 23 Dezember 2016, 21:22:32 »
Da bin ich gespannt, ich komme da momentan nicht auf einen grünen Zweig.

Hier meine Definition des zu meinen HUE-Lampen gehörigen ElectricityCalculator
defmod Energie.HUE_Lampen ElectricityCalculator HUE.*:energy.*
attr Energie.HUE_Lampen BasicPricePerAnnum 0
attr Energie.HUE_Lampen Currency €;
attr Energie.HUE_Lampen ElectricityCounterOffset 0
attr Energie.HUE_Lampen ElectricityKwhPerCounts 0.001
attr Energie.HUE_Lampen ElectricityPricePerKWh 0.2567
attr Energie.HUE_Lampen MonthOfAnnualReading 5
attr Energie.HUE_Lampen MonthlyPayment 0
attr Energie.HUE_Lampen ReadingDestination CalculatorDevice
attr Energie.HUE_Lampen SiPrefixPower W
attr Energie.HUE_Lampen group Kosten_Verbrauch
attr Energie.HUE_Lampen room Energie
attr Energie.HUE_Lampen stateFormat {sprintf("Heutige Kosten: 1: %.2f €, 2: %.2f €, 3: %.2f €, 4: %.2f €, 5: %.2f €, 6: %.2f €, 7: %.2f €, 8: %.2f €, 10: %.2f €, 11: %.2f €, 12: %.2f €",\
ReadingsVal("Energie.HUE_Lampen","HUEDevice1_energy_EnergyCostDay",""),\
ReadingsVal("Energie.HUE_Lampen","HUEDevice2_energy_EnergyCostDay",""),\
ReadingsVal("Energie.HUE_Lampen","HUEDevice3_energy_EnergyCostDay",""),\
ReadingsVal("Energie.HUE_Lampen","HUEDevice4_energy_EnergyCostDay",""),\
ReadingsVal("Energie.HUE_Lampen","HUEDevice5_energy_EnergyCostDay",""),\
ReadingsVal("Energie.HUE_Lampen","HUEDevice6_energy_EnergyCostDay",""),\
ReadingsVal("Energie.HUE_Lampen","HUEDevice7_energy_EnergyCostDay",""),\
ReadingsVal("Energie.HUE_Lampen","HUEDevice8_energy_EnergyCostDay",""),\
ReadingsVal("Energie.HUE_Lampen","HUEDevice10_energy_EnergyCostDay",""),\
ReadingsVal("Energie.HUE_Lampen","HUEDevice11_energy_EnergyCostDay",""),\
ReadingsVal("Energie.HUE_Lampen","HUEDevice12_energy_EnergyCostDay","")\
)}

Und hier eine passende readingsGroup zur Anzeige als ersten Wurf
defmod rg_Energie.HUE_Lampen readingsGroup <%measure_power>,<Zählerstand>,<aktuelle Leistung>,<Tagesverbrauch=>>,<Heute>,<Tagesverbrauch=>>,<Gestern>,<Monat>,<Jahr> \
Energie.HUE_Lampen:@2,<#1>,(.*)_CounterCurrent,#1_PowerCurrent,#1_EnergyDay,#1_EnergyCostDay,#1_EnergyDayLast,#1_EnergyCostDayLast,#1_EnergyCostMonth,#1_EnergyCostMeter
attr rg_Energie.HUE_Lampen group Kosten_Verbrauch
attr rg_Energie.HUE_Lampen nameStyle style="color:blue"
attr rg_Energie.HUE_Lampen nonames 1
attr rg_Energie.HUE_Lampen room Energie,Preis
attr rg_Energie.HUE_Lampen sortColumn 5
attr rg_Energie.HUE_Lampen valueFormat {\
if    ($READING =~ "_CounterCurrent")    {return "%09d";;}\
elsif ($READING =~ "_PowerCurrent")      {return "%.0f W";;}\
elsif ($READING =~ "_EnergyDay")         {return "%.3f kWh";;}\
elsif ($READING =~ "_EnergyCostDay")     {return "%.2f €";;}\
elsif ($READING =~ "_EnergyDayLast")     {return "%.3f kWh";;}\
elsif ($READING =~ "_EnergyCostDayLast") {return "%.2f €";;}\
elsif ($READING =~ "_EnergyCostMonth")   {return "%.2f €";;}\
elsif ($READING =~ "_EnergyCostMeter")   {return "%.2f €";;}\
}
attr rg_Energie.HUE_Lampen valueStyle { if($READING =~ "_PowerCurrent" && $VALUE >= 0 && $VALUE <= 5){'style="color:green;;text-align:right"'}\
elsif( $READING =~ "_PowerCurrent" && $VALUE > 5 && $VALUE < 10){'style="color:orange;;text-align:right"'}\
elsif( $READING =~ "_PowerCurrent" && $VALUE >= 10){'style="color:red;;text-align:right"'}\
elsif( $READING =~ "_EnergyDay" && $VALUE <= 0.05){'style="color:green;;text-align:right"'}\
elsif( $READING =~ "_EnergyDay" && $VALUE > 0,05 && $VALUE < 0.1 ){'style="color:orange;;text-align:right"'}\
elsif( $READING =~ "_EnergyDay" && $VALUE >= 0.1){'style="color:red;;text-align:right"'}\
elsif( $READING =~ "_EnergyCostDay" && $VALUE <= 0.015){'style="color:lightgreen;;text-align:right"'}\
elsif( $READING =~ "_EnergyCostDay" && $VALUE > 0.015 && $VALUE < 0.03 ){'style="color:orange;;text-align:right"'}\
elsif( $READING =~ "_EnergyCostDay" && $VALUE >= 0.03){'style="color:red;;text-align:right"'}\
elsif( $READING =~ "_EnergyCostMonth" && $VALUE <= 0.3){'style="color:lightgreen;;text-align:right"'}\
elsif( $READING =~ "_EnergyCostMonth" && $VALUE > 0.3 && $VALUE < 0.06){'style="color:orange;;text-align:right"' }\
elsif( $READING =~ "_EnergyCostMonth" && $VALUE >= 0.06){'style="color:red;;text-align:right"'}\
elsif( $READING =~ "_EnergyCostMeter" && $VALUE <= 3){'style="color:lightgreen;;text-align:right"'}\
elsif( $READING =~ "_EnergyCostMeter" && $VALUE > 3 && $VALUE < 6 ){'style="color:orange;;text-align:right"'}\
elsif( $READING =~ "_EnergyCostMeter" && $VALUE >= 6){'style="color:red;;text-align:right"'}\
else{'style="color:grey;;text-align:right"'}\
}

Was mir aber noch nicht gefällt: es sind derzeit etliche HUE-Lampen an, aber nur bei einer wird etwas aufsummiert. Woran es liegt, muss ich noch untersuchen. Aber zumindest die Struktur steht schon mal.

Zitat
Für Vorschläge bin ich offen. Wie wäre es mit powerMap?
Ja. PowerMon oder EnergyMonitor fände ich auch ok.
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1788
  • RTFM
Antw:neues Modul 98_energy
« Antwort #13 am: 24 Dezember 2016, 07:10:55 »
Was mir aber noch nicht gefällt: es sind derzeit etliche HUE-Lampen an, aber nur bei einer wird etwas aufsummiert. Woran es liegt, muss ich noch untersuchen. Aber zumindest die Struktur steht schon mal.
Wie sieht es denn mit event-on-change-reading und event-on-update-reading bei den HUE Leuchten aus? Desweiteren habe ich bei mir state.on noch in das powerMap attribut hinzugefügt.
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: archetype, alexaWebApp, DaikinD3nIU, DaikinHTTPinterface, TBot_Dialog
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben.

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1788
  • RTFM
Antw:neues Modul 98_energy
« Antwort #14 am: 31 Dezember 2016, 08:30:27 »
Was mir aber noch nicht gefällt: es sind derzeit etliche HUE-Lampen an, aber nur bei einer wird etwas aufsummiert. Woran es liegt, muss ich noch untersuchen. Aber zumindest die Struktur steht schon mal.
Das liegt einfach an dem geringen Verbrauch. Bei mir stehen die Zählerstände auch noch auf 0, da sie noch nicht 1 kWh verbraucht haben :D

Anbei auch mal meine readingsGroup: alias wird ausgewertet, power wird aus dem device gelesen und nicht die Berechnung aus ElectricyCalculator benutzt
defmod ElectricityCalculator_readingsGroup readingsGroup <%measure_power>,<Zählerstand>,<Leistung>,<Heute>,<Gestern>,<Monat>,<Jahr>\
ElectricityCalculator:@2,!alias@#1,(.*)_energy_CounterCurrent,power@#1,#1_energy_EnergyDay,#1_energy_EnergyCostDay,#1_energy_EnergyDayLast,#1_energy_EnergyCostDayLast,#1_energy_EnergyMonth,#1_energy_EnergyCostMonth,#1_energy_EnergyYear,#1_energy_EnergyCostYear
attr ElectricityCalculator_readingsGroup nameStyle {return 'style="font-weight: bold;; color: #025995"' if($READING =~ /Heute|Gestern|Monat|Jahr/);;\
 return 'style="text-align: left;; font-weight: bold;; color: #025995"';;\
}
attr ElectricityCalculator_readingsGroup noheading 1
attr ElectricityCalculator_readingsGroup nonames 1
attr ElectricityCalculator_readingsGroup room Messstation
attr ElectricityCalculator_readingsGroup style style="text-align: center"
attr ElectricityCalculator_readingsGroup valueColumn {return 2 if($READING =~ "_CounterCurrent");;\
}
attr ElectricityCalculator_readingsGroup valueColumns {"Heute" => "colspan = 2",\
 "Gestern" => "colspan = 2",\
 "Monat" => "colspan = 2",\
 "Jahr" => "colspan = 2"\
}
attr ElectricityCalculator_readingsGroup valueFormat {return(AttrVal("$DEVICE", "alias", "$DEVICE")) if($READING =~ /alias/);;\
 return "%09d" if($READING =~ /_CounterCurrent/);;\
 return "%.1f W" if($READING =~ "power");;\
 return "%.3f kWh" if($READING =~ "_EnergyDay");;\
 return "%.2f €" if($READING =~ "_EnergyCostDay");;\
 return "%.3f kWh" if($READING =~ "_EnergyDayLast");;\
 return "%.2f €" if($READING =~ "_EnergyCostDayLast");;\
 return "%.3f kWh" if($READING =~ "_EnergyMonth");;\
 return "%.2f €" if($READING =~ "_EnergyCostMonth");;\
 return "%.3f kWh" if($READING =~ "_EnergyYear");;\
 return "%.2f €" if($READING =~ "_EnergyCostYear");;\
}
attr ElectricityCalculator_readingsGroup valueStyle {return 'style="text-align: left"' if($READING =~ /alias/);;\
 return 'style="text-align: center"' if($READING =~ /_CounterCurrent/);;\
 return 'style="text-align: right"';;\
}
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: archetype, alexaWebApp, DaikinD3nIU, DaikinHTTPinterface, TBot_Dialog
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben.