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

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1885
  • 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: archetype, LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: 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: 317
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: 1885
  • 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: archetype, LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: 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: 1885
  • 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: archetype, LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: 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: 1885
  • 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: archetype, LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: 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: 1885
  • 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: archetype, LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: 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: 31
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: 1885
  • 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: archetype, LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: 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: 31
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: 1885
  • 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: archetype, LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: 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: 256
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: 1885
  • 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: archetype, LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: 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: 256
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: 1885
  • 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: archetype, LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: 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: 1885
  • 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: archetype, LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: 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: 1885
  • RTFM
Antw:neues Modul 98_powerMap
« Antwort #15 am: 01 Januar 2017, 14:49:48 »
Neue Version im ersten Beitrag:
 - update durch pruefung auf P1 verbessert
 - Modul von energy in powerMap umbenannt
 - commandref: Hinweis zu timestamp-on-change-reading hinzugefuegt
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: archetype, LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: 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: 1885
  • RTFM
Antw:neues Modul 98_powerMap
« Antwort #16 am: 02 Januar 2017, 09:36:38 »
Könnte sich noch jemand den code angucken?
Irgendwie werden im Event monitor zwar power und energy angezeit, in der Detailansicht von dem Device die Readings jedoch nicht aktualisiert.

Der wichtige Teil sollte der hier sein
sub powerMap_Notify($$) {
  my ($hash, $dev_hash) = @_;
  my $name = $hash->{NAME};

  return if(IsDisabled($name));

  my $dev = $dev_hash->{NAME};
  my $powerMap = AttrVal($dev, "powerMap", undef);

  return unless($powerMap or $dev eq "global");

  my $events = deviceEvents($dev_hash, 1);

  return unless($events);

  foreach my $event (@{$events}) {
    next if(!$event);
    next if(AttrVal($dev, "noPower", 0));

    Log3($name, 5, "powerMap ($name) - triggered by $dev $event");

    if($event !~ /^(energy|power): / and $powerMap){
      my $power = powerMap_powerMap($name, $dev, $event, $powerMap);

      readingsBeginUpdate($dev_hash);

      unless(AttrVal($dev, "noEnergy", 0)){
        my $energy = powerMap_energy($name, $dev, $power);

        readingsBulkUpdate($dev_hash, "energy", $energy);
      }

      readingsBulkUpdate($dev_hash, "power", $power)
        if($power ne "no match");

      readingsEndUpdate($dev_hash, 1);
    }

    if($event eq "INITIALIZED" and $dev eq "global"){
      for(devspec2array("powerMap=.+:FILTER=noEnergy!=1")){
        powerMap_update("$name|$_");
      }
    }

    if
    ($event =~ /^ATTR.(.+).no(Energy|Power).0$/ or
     $event =~ /^DELETEATTR.(.+).no(Energy|Power)$/
    ){
      powerMap_update("$name|$1");
    }
  }

  return;
}
Habe schon mit NotifyOrderPrefix gespielt, aber keine Verbesserung erzielt. Kann es daran liegen, dass das ganze im notify Block liegt?
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: archetype, LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: 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 Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #17 am: 05 Januar 2017, 14:06:15 »
Ich habe mir die aktuelle Version jetzt auch mal gezogen und derzeit wird kein Power-Reading angelegt und das Energy-Reading bleibt nur auf 0.
Den Code habe ich mir noch nicht angesehen, mal schauen ob ich da ein paar sinnvolle Debugging-Logs einbauen kann.
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #18 am: 05 Januar 2017, 23:55:04 »
Den Fehler, weshalb die Longpoll Events nicht auf der Detailseite übertragen werden, habe ich bisher nicht finden können.


Anbei ist jedoch eine überarbeitete Version.


Changelog:

#   enhanced logging
#   enhanced event handling
#   rewrite of powerMap_powerMap
#   added Unit.pm support


Bei dieser hat sich das Format des powerMap Attributs geändert, um damit eine stabilere und performantere Eventverarbeitung zu erhalten.
Ich habe die CommandRef entsprechend angepasst.

FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_energy
« Antwort #19 am: 07 Januar 2017, 17:43:29 »
Damit ist meine alte Lösung per EMONITOR dann wohl hinfällig.


Bevor hier mehr Arbeit reingesteckt wird:
Was ist denn an EMONITOR besser/schlechter, außer dass es auch "nur" ein inoffizielles Modul ist? Ich kenne es nicht und möchte es mir nicht so im Detail anschauen müssen, um das beurteilen zu können.
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1885
  • RTFM
Antw:neues Modul 98_powerMap
« Antwort #20 am: 08 Januar 2017, 08:28:23 »
Bevor hier mehr Arbeit reingesteckt wird:
Was ist denn an EMONITOR besser/schlechter, außer dass es auch "nur" ein inoffizielles Modul ist? Ich kenne es nicht und möchte es mir nicht so im Detail anschauen müssen, um das beurteilen zu können.
Ich habe EMONITOR vorher getestet. Was mir daran nicht gefällt, dass es nur on und off unterstützt, also nicht für dimmer geeignet ist. Das war eigentlich der hauptgrund für das Modul hier. Weiterhin erzeugt es automatisch eine readingsGroup die bei mir dazu führt, dass mein fhem komplett abstürzt. Es wurde seit über einem Jahr nicht weiterentwickelt. Es ist so programmiert, dass es Attribute wie event-on-change-reading oder icon durch folgende Meldung blockiert:
EMONITOR_Attr: icon must at least one of: auto-save,disable,room,track-within-hour,types,use-power-event,verbose

Anbei ist jedoch eine überarbeitete Version.
Habe ich bisher noch nicht getestet, sondern nur angeschaut.
Die Änderung im powerMap Attribut finde ich sehr gut. Hatte das anfangs auch so vorgehabt, nur nicht gewusst wie das geht ::)
Werde jetzt hoffentlich nächste Woche mal dazu kommen das zu testen.
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: archetype, LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: 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 Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #21 am: 08 Januar 2017, 16:31:03 »
Ok, das sind mir genug Gründe  8)

Hier die aktuelle Version:

# 170108-loredo:
#   initial hash defining powerMap default values for FHEM devices
#     (not in use so far)
#   permanent and standby power may be defined by using '*' => <value>
#   attributes renamed to be unique
#   new attributes to optionally rename power and energy reading to
#     avoid interference
#   let FHEM modules define their powerMap in
#     $modules{ $defs{$name}{TYPE} }{powerMap}{map}
#     or per device definition/instance in
#     $defs{$name}{'.powerMap'}{map}

Damit sind deine ToDo's glaube ich soweit abgearbeitet. Ich habe folgende neue aufgenommen:

# - let FHEM modules define their powerMap in $defs{$name}{powerMap}
# - help users setting powerMap attribute using internal hash database or
#   by copying from $defs{$name}{powerMap}


Gruß
Julian
« Letzte Änderung: 09 Januar 2017, 02:14:37 von Loredo »
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #22 am: 08 Januar 2017, 22:56:49 »
Ich habe jetzt noch den Support für die direkte Modulunterstützung eingebaut.
Meinem Modul HP1000 habe ich den Support gerade bereits verpasst.

Das Attribut powerMap wird jetzt auch nur noch bei einer Änderung neu eingelesen und wird ansonsten dauerhaft im Device Hash mit abgelegt.
Außerdem ist es nun optional, wenn ein Modul die Definition entweder unter $modules{ $defs{$name}{TYPE} }{powerMap}{map} oder $defs{$name}{'.powerMap'}{map} selbst ablegt.
Das vom User angelegte powerMap Attribut erhält jedoch Vorrang, damit die Vorgaben aus Modulen bei Bedarf überschrieben werden können.
« Letzte Änderung: 09 Januar 2017, 02:12:24 von Loredo »
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline Vize

  • Full Member
  • ***
  • Beiträge: 402
Antw:neues Modul 98_powerMap
« Antwort #23 am: 11 Januar 2017, 21:28:27 »
Ahoi,

wollte das Modul gerade mal testen, bekomme aber nach Eingabe von
reload 98_powerMapfolgende Fehlerausgabe:
Can't locate Unit.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM) at ./FHEM/98_powerMap.pm line 53.
BEGIN failed--compilation aborted at ./FHEM/98_powerMap.pm line 53.

Kann mir jemand weiterhelfen?

Danke schonmal!

Gruß
Andreas

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #24 am: 11 Januar 2017, 21:29:48 »
Bitte immer FHEM neu starten und kein reload verwenden (alte Regel).
Außerdem fehlt dir Unit.pm, was für eine alte FHEM Installation spricht, die nicht auf dem aktuellen Stand ist.
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline Vize

  • Full Member
  • ***
  • Beiträge: 402
Antw:neues Modul 98_powerMap
« Antwort #25 am: 11 Januar 2017, 21:36:42 »
Jau, hast recht,

unit.pm und uconv.pm fehlten mir...habe auch lange kein update mehr gemacht...  :-[

Gruß
Andreas

EDIT: So, nu passt alles und es läuft...  Danke!
« Letzte Änderung: 11 Januar 2017, 21:48:41 von Vize »

Offline Vize

  • Full Member
  • ***
  • Beiträge: 402
Antw:neues Modul 98_powerMap
« Antwort #26 am: 12 Januar 2017, 17:55:56 »
Ahoi,

so, habe das Modul nun erfolgreich mit einer E-Heizung (und HM-LC-SW1-FM) testen können.
Vielen Dank für dieses Modul!

Eine Frage hätte ich dazu noch. Das reading pM_energy wird ja, glaub ich, standardmäßig alle 15 min aktualisiert. Solange die Heizung läuft wird dieser Wert auch alle 15 min in das log des devices geschrieben. Wenn ich die Heizung nun vor der nächsten Aktualisierung des readings abschalte, wird zwar der zu diesem Zeitpunkt aktuelle Wert in das reading des devices geschrieben, aber nicht in das logfile. Dort findet man "nur" die Werte der jeweiligen "15-min-Aktualisierungen".
Kann man das irgendwie umsetzen, dass der Wert bei Ausschalten der Heizung ins log des devices geschrieben wird? Wenn ja, wie?

Danke schonmal für jegliche Hilfe!

Gruß
Andreas

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1885
  • RTFM
Antw:neues Modul 98_powerMap
« Antwort #27 am: 12 Januar 2017, 18:22:45 »
Das hört sich noch nach dem longpoll Problem an, welches momentan noch unerklärt ist.
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: archetype, LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: 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 Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #28 am: 16 Januar 2017, 02:33:49 »
Nachdem Markus heute ganz doll geholfen hat das longpoll Problem zu beseitigen, habe ich gerade eine erste offizielle Version ins SVN eingecheckt, die ab morgen/heute früh per Update bereitsteht.

Support dafür wird es in der Forum Sektion "Unterstützende Dienste" geben. Falls ein Forum-Moderator hier mitliest: Verschieben dieses Threads wäre klasse  :)

Was in der nächsten Zeit noch nachkommen wird sind die Template Funktionen, um sich für bekannte Gerätemodelle vordefinierte Attribute erzeugen zu lassen.
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1885
  • RTFM
Antw:neues Modul 98_powerMap
« Antwort #29 am: 16 Januar 2017, 06:19:43 »
Nachdem Markus heute ganz doll geholfen hat das longpoll Problem zu beseitigen, habe ich gerade eine erste offizielle Version ins SVN eingecheckt, die ab morgen/heute früh per Update bereitsteht.
Worin bestand denn das Problem?

Was in der nächsten Zeit noch nachkommen wird sind die Template Funktionen, um sich für bekannte Gerätemodelle vordefinierte Attribute erzeugen zu lassen.
Also dafür hätte ich schon einen Ansatz mit meinem archetype modul. Das nutze ich selbst um die breite Masse zu pflegen.

Ich finde es wirklich schön, dass hier auch zusammen an Modulen entwickelt wird :)
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: archetype, LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: 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.

Online Markus Bloch

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 3095
Antw:neues Modul 98_powerMap
« Antwort #30 am: 16 Januar 2017, 08:54:02 »
Support dafür wird es in der Forum Sektion "Unterstützende Dienste" geben. Falls ein Forum-Moderator hier mitliest: Verschieben dieses Threads wäre klasse  :)

Ich habe soeben verschoben.

Worin bestand denn das Problem?

Guggst du hier: https://forum.fhem.de/index.php/topic,64716.msg561943.html#msg561943

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #31 am: 16 Januar 2017, 15:12:25 »
Also dafür hätte ich schon einen Ansatz mit meinem archetype modul. Das nutze ich selbst um die breite Masse zu pflegen.

Der Anwendungszweck scheint mir auf den ersten Blick ein ganz anderer zu sein.

Die Anforderungen sehe ich hier auch etwas anders. Ich habe vorgesehen, dass Modulautoren bei sich im eigenen Modul einen Hash pflegen, da ich davon ausgehe, dass gerade bei Modulen mit unterschiedlichen Gerätemodellen so ein Hash ohnehin schon grundsätzlich dort gepflegt wird. Alle Einzelheiten zu einem bestimmten Modell soll also möglichst nah dort erfassbar sein, wo es ohnehin schon gepflegt wird. Das ist im Grundsatz auch schon so eingebaut; powerMap selbst läd ein gesetztes 'powerMap' Attribut ebenfalls in $defs{$n}{powerMap}{map} ab. Dort kann aber auch das Modul bereits selbst was ablegen (wenn die Werte modellabhängig sind) oder  bei sich direkt im Modul Hash unter $modules{$TYPE}{powerMap}{map}. Letzteres führt das HP1000 Wetterstationsmodul schon vor, da es dort keine unterschiedlichen Gerätemodelle gibt.

sub X_Initialize($) {
[...]

    # 98_powerMap.pm support
    $hash->{powerMap} = {
        rname_E => 'energy',
        rname_P => 'power',
        map     => {
            Activity => {
                'dead'  => 0,
                'alive' => 5,
            },
            state => {
                '*' => 5,
            },
        }
    };

[...]
}

Dort sieht man auch, dass auch die Device Attribute hier optional im Hash angegeben werden können, um z.B. aus dem Modul heraus direkt einen anderen Readingnamen mit anzugeben, ohne dass dafür extra ein Attribut in $attr gesetzt werden muss. Über das 'powerMap' Attribut am Gerät kann die Mapping-Tabelle jederzeit manuell vom Benutzer übersteuert werden.

Für die Module, die (noch) keine direkte Unterstützung eingebaut haben, wird zusätzlich ein eigener Hash in 98_powerMap.pm gepflegt. Dieser wird aktuell aber noch nicht beachtet, ich habe erstmal nur Daten gesammelt und versucht eine geeignete Struktur zu definieren.

Direkt verwendet werden von powerMap aber lediglich die fertigen Definitionen unter $defs{$n}{powerMap}{map} und $modules{$TYPE}{powerMap}{map}.
Bei allen anderen Quellen ist vorgesehen, dass diese als Input für einen Setter im powerMap Device selbst dienen, um sie dann nach $attr{$n}{powerMap} rauszuschreiben (und darüber dann nach $defs{$n}{powerMap}{map}), damit der Benutzer sie dann als Template verwenden und ggf. abändern kann.
« Letzte Änderung: 16 Januar 2017, 15:14:26 von Loredo »
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16608
Antw:neues Modul 98_powerMap
« Antwort #32 am: 16 Januar 2017, 16:17:02 »
ich habe eben kurz ins modul geschaut und folgende fragen/bemerkungen:

- die einträge aus powerMap_tmpl sollen nach und nach direkt in $hash->{powerMap} der module?

- bei 50_HP1000 gibt es im $hash->{powerMap} einträge für Activity und state.
  heisst das es können einträge für mehrere readings vorhanden sein? wie ist der vorrang wenn es
  mehr als eins matched?

- bei den hue devices in powerMap_tmpl wird model als internal verwendet. tatsächlich gibt es aber nur modelid

- wo hast du du die zahlen für die hue devices her? stehen dort auch die fehlenden?

- wie genau funktioniert das interpolieren zwischen den werten? ich vermute bei den meisten lampen ist das
  alles andere als linear.

gruss
  andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #33 am: 16 Januar 2017, 17:48:21 »
Hi André,

- die einträge aus powerMap_tmpl sollen nach und nach direkt in $hash->{powerMap} der module?

Im Grunde ja, wenn auch vielleicht nicht 1-zu-1 in diesem Format. Die Model-Ebene würde dort wegfallen, wenn du mit $hash $defs{$n}{powerMap} meinst.
Jedes Modul ist selbst dafür zuständig dort im richtigen Format die Mapping-Tabelle (und ggf. eben weitere Attribute) abzulegen. Für Module, die das nicht selbst machen, übernimmt dies das powerMap Modul über die User Attribute powerMap.*.

Bei $modules{$TYPE}{powerMap} soll das Format identisch zu dem in $powerMap_tmpl sein (also sowohl mit als auch ohne Model Ebene für einfache Module wie mein HP1000 Modul). Matchende Definitionen in $modules bekommen Vorrang, $powerMap_tmp dient als Fallback. So entscheidet auch der Modulautor selbst, wann Einträge in 98_powerMap.pm obsolete werden.
Sowohl $modules{$TYPE}{powerMap} als auch $powerMap_tmpl sollen für den geplanten Setter im powerMap Device dienen, worüber Benutzer das powerMap-Attribut in Devices anlegen lassen können.

- bei 50_HP1000 gibt es im $hash->{powerMap} einträge für Activity und state.
  heisst das es können einträge für mehrere readings vorhanden sein? wie ist der vorrang wenn es
  mehr als eins matched?

Ja, das stimmt. Allerdings handelt es sich streng genommen um die Namen in Events, denn die Berechnung der Leistungsaufnahme erfolgt ausschließlich Event-basiert.
Das löst zum großen Teil auch, dass unterschiedliche Events/Readings angegeben werden können. Nur wenn während der selben Eventverarbeitung von deviceEvents() mehrere Events zurückgeliefert werden, von denen auch mehrere in der Mapping Tabelle vorhanden sind, kommt es auf die Reihenfolge an, in der deviceEvents() die Events liefert. Vermutlich ist das in der Reihenfolge, wie diese entstanden sind. Sobald das erste Event in der Mapping Tabelle gefunden wurde, wird dies für die Berechnung der Leistungsaufnahme hergenommen; nachfolgende bleiben außen vor.
In der Praxis sollten in der Mapping Tabelle die Events also so gewählt werden, dass sie nicht zusammen auftreten. Kombinationen aus "wenn, dann, oder, sonst" gehen also so nicht, sollten aber eben aufgrund des Event-Characters auch eigentlich nicht notwendig sein. Davon wollte ich nur abrücken, wenn es notwendig wird. Bisher habe ich das nicht gesehen, dass es nicht ausreichend wäre.

- bei den hue devices in powerMap_tmpl wird model als internal verwendet. tatsächlich gibt es aber nur modelid

Tatsächlich habe ich den Hash wie gesagt bisher nur grob zusammengewürfelt und noch nicht unbedingt die passenden Internals/Attribute überall angegeben. "model" ist also im Zweifel auch einfach nur ein Platzhalter für die Ebene im Hash :-)
Ich habe es für HUE.* gerade geändert.

- wo hast du du die zahlen für die hue devices her? stehen dort auch die fehlenden?

Die ausführlicheren Zahlen für die HUE White sind von igami hier aus dem Thread; ich nehme an er hat sie über ein Messgerät bei unterschiedlichen Helligkeitsstufen einmalig ermittelt.
Die anderen Werte habe ich aus den technischen Beschreibungen von Philips, deshalb sind dort auch nur Standby- und Maximalwert sind. Selbes habe ich für die Homematic und andere Geräte gemacht (was ich halt hier so verwende).
Ist zwar dann natürlich komplett linear, aber anfänglich schonmal eine Näherung. Ich selbst habe leider kein Steckermessgerät.

- wie genau funktioniert das interpolieren zwischen den werten? ich vermute bei den meisten lampen ist das
  alles andere als linear.

Der Hash unter {map} wird zunächst nach Höhe/Wert sortiert und es werden die zwei Werte gesucht, zwischen denen der aktuelle Wert liegt. Diese werden dann verwendet, um die lineare Leistungsaufnahme dazwischen zu errechnen. Diese Logik habe ich nahezu 1-zu-1 von igami übernommen (siehe "# value interpolation" in powerMap_power() ).

Je mehr Zwischenwerte also vorhanden sind, desto exakter die Annäherung an die reale, exponentielle Leistungskurve. Diese Werte muss halt einmal jemand ermittelt haben - da liegt unsere Hoffnung natürlich auf der Community, um hier exakter und besser zu werden als das Hersteller Datenblatt es hergibt  ;)




Gruß
Julian
« Letzte Änderung: 16 Januar 2017, 18:56:30 von Loredo »
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1885
  • RTFM
Antw:neues Modul 98_powerMap
« Antwort #34 am: 16 Januar 2017, 23:18:50 »
- wo hast du du die zahlen für die hue devices her? stehen dort auch die fehlenden?
Wie Julian schon vermutet hat, habe ich fur die HUE White mehrere Werte mit einem Zwischenstecker von HomeMatic gemessen.

- wie genau funktioniert das interpolieren zwischen den werten? ich vermute bei den meisten lampen ist das
  alles andere als linear.
Es wird linear anhand der nächsten beiden Messpunkte interpoliert. Wie man an dem Beispiel für HUE White sieht ist dies tatsächlich nicht linear, aber wie Julian schon geschrieben hat wird es genauer je mehr Messwerte man hat.
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: archetype, LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: 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 Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #35 am: 18 Januar 2017, 23:58:13 »
Ich habe gerade eine aktualisierte Version eingecheckt.
Neben ein paar kleineren behobenen Bugs ist nun der Template Support mit eingebaut. Für diverse Module sind damit vordefinierte powerMap Attribute hinterlegt und können einfach zugewiesen werden. Über devspec lassen sich auch für mehrere Geräte gleichzeitig nach einer vorhandenen powerMap Definition suchen und anschließend zuweisen.


Ab morgen dann wie immer per Update.
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1885
  • RTFM
Antw:neues Modul 98_powerMap
« Antwort #36 am: 19 Januar 2017, 07:14:23 »
Hallo Julian,

habe mir die Version von gestern, also nicht die aktuelle einmal genauer angeschaut. Soweit ich es verstehe werden bei get devices die devices welche über ein template versorgt werden nicht aufgelistet. Ich fände es aber sinnvoll, dass man das mit einbaut. Werde ich mir nachher noch mal was zu überlegen.

Grüße
igami
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: archetype, LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: 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 Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #37 am: 19 Januar 2017, 14:30:06 »
Der neue Setter zeigt bereits alle konfigurierbaren und konfigurierten Devices an. Mit einer kleineren Änderung kann die selbe Prozedur dann auch für den Getter verwendet werden.  :)


Die Liste wird nur für die Darstellung in FHEMWEB verwendet, der Setter ansich nutzt ja devspec, sprich da kann es auch so aussehen:


set pm assign .*

Damit wird für alle Geräte, für die eine powerMap gefunden wird, die entsprechenden Attribute explizit im Gerät gesetzt (entweder weil bereits aktiviert, z.B. durch ein Modul in %modules oder %defs oder weil dort bereits manuell powerMap Attribute gesetzt waren).
« Letzte Änderung: 19 Januar 2017, 16:02:36 von Loredo »
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline klausw

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1495
Antw:neues Modul 98_powerMap
« Antwort #38 am: 19 Januar 2017, 23:30:52 »
Hallo, ich habe heute dieses Modul entdeckt und auch gleich die erste Frage/Problem  8)

Bei mir werkelt ein Panstamp in meiner 25 Jahre alten Ölheizung und gibt unter anderem den Status von Brenner und Pumpen zurück.

Im passenden Modul gibt es die Redings:
Brenner
Pumpe_Boiler
Pumpe_Heizkreis
welchen den Staus "an" bzw. "aus" haben

powerMap sieht wie folgt aus:

{'Pumpe_Heizkreis' => {
'aus' => 0,
'an' => 30,},
'Pumpe_Boiler' => {
'aus' => 0,
'an' => 30,},
'Brenner' => {
'aus' => 0,
'an' => 40,},
}

Mein Problem ist jetzt, das scheinbar nur Brenner den Weg nach pM_power und pM_energy findet.
Gibt es die Möglichkeit, das die Werte, die auf "an" stehen zu addieren?
Schließlich läuft der Brenner nur im Zusammenhang mit einer der Pumpen. Die Pumpen können aber auch allein laufen.
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #39 am: 19 Januar 2017, 23:46:13 »
Nein.


Das Modul arbeitet Event-basiert und kann nicht unterscheiden, wann etwas zusammengerechnet werden müsste und wann nicht.
Einzige Ausnahme, die aber aktuell so nicht eingebaut ist, wäre, dass alle 3 Readings gemeinsam in einem einzigen Event Zyklus aktualisiert werden.


Du kannst dir aber mit einem userReading behelfen, in dem die Zustandswerte zunächst so addiert werden, dass du jede mögliche Kombination anschließend als Value hast.
« Letzte Änderung: 20 Januar 2017, 20:37:35 von Loredo »
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #40 am: 20 Januar 2017, 01:29:33 »
Bitte einmal beiliegende Version ausprobieren.
Damit solltest du das powerMap Attribut jetzt so definieren können:

'Pumpe_Heizkreis' => {
  'aus' => "0,Pumpe_Boiler,Brenner",
  'an'  => "30,Pumpe_Boiler,Brenner",
},
'Pumpe_Boiler' => {
  'aus' => "0,Pumpe_Heizkreis,Brenner",
  'an'  => "30,Pumpe_Heizkreis,Brenner",
},
'Brenner' => {
  'aus' => "0,Pumpe_Heizkreis,Pumpe_Boiler",
  'an'  => "40,Pumpe_Heizkreis,Pumpe_Boiler",
},


Gruß
Julian
« Letzte Änderung: 20 Januar 2017, 09:32:42 von Loredo »
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline klausw

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1495
Antw:neues Modul 98_powerMap
« Antwort #41 am: 20 Januar 2017, 12:40:23 »
Daumen hoch, funktioniert jetzt super.
Die Werte werden jetzt addiert.
Danke fürs einbauen!
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #42 am: 20 Januar 2017, 19:14:52 »
Danke für's Feedback, habe es jetzt so offiziell eingecheckt.
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline BOFH

  • New Member
  • *
  • Beiträge: 22
Antw:neues Modul 98_powerMap
« Antwort #43 am: 21 Januar 2017, 19:47:50 »
Hallo,

tolles Modul - Ich hau muss auch gleich mal eine Frage stellen.

Ich habeine HUE Birne, die mit Schalter im Raum AUS bzs EIN geschaltet wird.

das powermap sieht so aus

{
  'state' => {
               '0' => '0.1',
               '100' => '10',
               'unreachable' => 0
             },
 'pct' => {
            '0' => 0.1,
            '10' => 1,
            '20' => 2,
            '30' => 3,
            '40' => 4,
            '50' => 5,
            '60' => 6,
            '70' => 7,
            '80' => 8,
            '90' => 9,
            '100' => 10,
          }
}

Problem ist nun, wenn ich den Lichtschalter betätige, so dass das Reading noch pct 100 anzeigt , die lampe den State  Unreachable bestitz.
Er rechnet aber mit 10W vom pct weiter. 

Ist die letzte Bedingung höherwertig ? Müsste ich erst PCT und dann STATE schreiben oder mach ich falsch?

RasPi2
MaxCube aFW IT / ZWave.me ZME_UZB (Fibaro Auge Gen.2)/ HM-USB2 (Thermostat | Hutschienen Relais | 1-/2fach Schalter) / Enigma2 / PhilipsTV / Philips HUE (GO|Bulb|Stripe (plus)) / Somfy IO Rollos / BOSCH HSG636XS6 / SONOS (P1, P3, P5, SUB, Bar)

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #44 am: 21 Januar 2017, 20:03:24 »
Ich vermute mal, dass die Aktualisierung des Readings state bei dir kein Event auslöst, weil du event-on-* verwendest und es dort nicht enthalten ist.
Da das HUE Modul aber bei unreachable das pct Reading nicht aktualisiert, gibt es einfach gar kein Event, was ausgewertet werden kann.

Die Standard Definition für ein HUE Gerät sieht eigentlich so aus:

state => {
    unreachable => 0,
    0           => 0.4,
    100         => 10,
},

Es reicht vollkommen aus nur das state Reading zu verwenden.
Wenn du deine Glühbirne genauer nachgemessen hasst, kannst du entsprechend mehr Abstufungen mit hinein nehmen.
Wenn dir im powerMap-Device kein Template angeboten wird, dann wäre es prima, wenn du Messergebnisse hier bekanntgibst, damit wir sie mir in die Datenbank aufnhemen können. Dafür bräuchten wir immer die genaue Modellbezeichnung.
« Letzte Änderung: 21 Januar 2017, 20:09:46 von Loredo »
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #45 am: 21 Januar 2017, 20:20:23 »

Hi André,

- die einträge aus powerMap_tmpl sollen nach und nach direkt in $hash->{powerMap} der module?


Der Modul-Support ist jetzt soweit abgeschlossen.
Module können das selbe Format wie in %powerMap_tmpl entweder im Modul oder im Device Hash unter $modules{TYPE}{powerMap} resp. $defs{$n}{powerMap} ablegen.
Die Pflege der Verbrauchsdatenbank ließe sich also nun relativ einfach in andere Module wie HUEDevice verlagern.


@igami: Der Getter ist jetzt gefixt.




Gruß
Julian
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1885
  • RTFM
Antw:neues Modul 98_powerMap
« Antwort #46 am: 22 Januar 2017, 07:08:18 »
Ich habe bei meinen Hues folgende Attribute gesetzt
event-on-change-reading energy,power,state
event-on-update-reading pct
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: archetype, LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: 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 Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #47 am: 22 Januar 2017, 12:00:13 »
Ich habe gerade noch einen Patch eingecheckt, mit dem die Attribute event-min-interval, event-aggregator, event-on-change-reading, event-on-update-reading und timestamp-on-change-reading geprüft werden. Im Logfile werden entsprechende Warnhinweise ausgegeben, wenn Events zu den in powerMap definierten Readings möglicherweise nicht wie erwartet erzeugt würden. Sofern event-on-change-reading oder event-on-update-reading gesetzt sind und ein Reading, welches für powerMap notwendig ist, in keiner der beiden Attribute enthalten ist, wird es automatisch zu event-on-change-reading hinzugefügt.
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1885
  • RTFM
Antw:neues Modul 98_powerMap
« Antwort #48 am: 22 Januar 2017, 13:48:41 »
Ich habe gerade noch einen Patch eingecheckt, mit dem die Attribute event-min-interval, event-aggregator, event-on-change-reading, event-on-update-reading und timestamp-on-change-reading geprüft werden. Im Logfile werden entsprechende Warnhinweise ausgegeben, wenn Events zu den in powerMap definierten Readings möglicherweise nicht wie erwartet erzeugt würden. Sofern event-on-change-reading oder event-on-update-reading gesetzt sind und ein Reading, welches für powerMap notwendig ist, in keiner der beiden Attribute enthalten ist, wird es automatisch zu event-on-change-reading hinzugefügt.
Ich bin dagegen, dass powerMap die Attribute von devices verändert, sofern sich dieses nicht deaktivieren lässt. Man sollte dem Benutzer erlauben dies durch ein Attribut z.B. "modifyReadingFnAttributes" zu unterbinden. Das Attribut hat dann standardmäßig 1 und kann bei Bedarf auf 0 gesetzt werden um dann nur noch Warnhinweise mit entsprechendem verbose zu erzeugen.
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: archetype, LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: 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 Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #49 am: 22 Januar 2017, 15:01:49 »
Ich bin dagegen, dass powerMap die Attribute von devices verändert, sofern sich dieses nicht deaktivieren lässt.


Dieser Forderung komme ich mit Revision 13186 und dem Attribut powerMap_eventChainWarnOnly nach.
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #50 am: 22 Januar 2017, 15:45:15 »
Ich bin grad am überlegen, wie/ob wir für Leuchten, die neben der Helligkeit auch noch Farbwerte oder verschiedene Weißtöne beherrschen, bei der Berechnung mit berücksichtigen. Dabei müsste man dann natürlich auch irgendeine Art der Interpolation zwischen fixen (Mess)Werten ableiten können.


Hab aber keine Ahnung, ob sich das überhaupt lohnen würde bzw. ob diese Faktoren sich wirklich so stark auf den Verbrauch auswirken, dass es eine Rolle spielt.
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16608
Antw:neues Modul 98_powerMap
« Antwort #51 am: 22 Januar 2017, 15:56:28 »
dir event- attribute sind für hue lampen nicht nötig. readings werden sowieso immer nur bei änderungen aktualisiert.

ich kann die interne powerMap für hue lampen gerne einchecken.

zwischen einer einzigen farbe und weiß (alle drei farben) kann der unterschied fast 1:3 betragen. also durchaus nicht zu vernachlässigen. das lässt sich aber rein über ein einziges event vermutlich nicht mehr abbilden.

gruss
  andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1885
  • RTFM
Antw:neues Modul 98_powerMap
« Antwort #52 am: 22 Januar 2017, 17:48:47 »
zwischen einer einzigen farbe und weiß (alle drei farben) kann der unterschied fast 1:3 betragen. also durchaus nicht zu vernachlässigen. das lässt sich aber rein über ein einziges event vermutlich nicht mehr abbilden.
Also wäre doch jetzt interessant ob alle drei Farben gleich viel Strom benötigen oder ob es da noch unterschiede gibt.
Wie eine Farbe gemischt wird sollte sich ja heraus finden lassen.
Mit einer Messsteckdose lassen sich die theoretischen Werte dann ja auch noch überprüfen.
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: archetype, LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: 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 Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #53 am: 23 Januar 2017, 17:25:33 »
dir event- attribute sind für hue lampen nicht nötig. readings werden sowieso immer nur bei änderungen aktualisiert.


Deshalb mag ich das Modul <3
 ;)


ich kann die interne powerMap für hue lampen gerne einchecken.


Ich glaube nur einchecken alleine ist es nicht. Ich nahm an du würdest die Werte gerne direkt in %hueModels mit pflegen.
Dort müsstest du quasi einen weiteren Hash je Modell anlegen (beliebiger Name). Diesen Hash müsstest du dann entweder je Modell mit einer kleinen Schleife nach $models{TYPE}{powerMap}{modelid} referenzieren oder je Device nach $defs{$d}{powerMap}. Kommt auch noch etwas drauf an, ob du rname_P=consumption und rname_E=energy vorbelegen möchtest, damit die Readings entsprechend heißen.


Natürlich kannst du auch den hash aus 98_powerMap mehr oder weniger 1-zu-1 nach HUEDevice_Initialize() übernehmen, aber dann hättest du 2 Stellen mit Modellen zu pflegen.


das lässt sich aber rein über ein einziges event vermutlich nicht mehr abbilden.


Das ist kein Problem und kann ähnlich funktionieren wie mit der Addition, die ich neulich eingebaut habe. Man müsste nur wissen, ob der errechnete Wert z.B. für das Reading "rgb" ein Multiplikator wäre oder ein direkt zu addierender Wert.


Welche Berechnungsmethode anzuwenden wäre, ließe sich eigentlich vom aktuellen Value ableiten. Bis auf saturation sind das alles keine reinen Zahlenwerte wie wir sie sonst für die Interpolation für den Dimmwert haben.
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #54 am: 23 Januar 2017, 17:27:11 »
Wie eine Farbe gemischt wird sollte sich ja heraus finden lassen.


Ich vermute da kann André ein paar insights teilen, z.B. wie/ob Gamut dabei eine Rolle spielt und sich verwenden lässt.
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #55 am: 23 Januar 2017, 17:49:15 »
Die Standard Definition für ein HUE Gerät sieht eigentlich so aus:

state => {
    unreachable => 0,
    0           => 0.4,
    100         => 10,
},

Es reicht vollkommen aus nur das state Reading zu verwenden.

Da muss ich mich grad selbst korrigieren.
Ich bin fälschlicherweise davon ausgegangen, dass bei HUEDevices der state Value mit dimXX% immer dem tatsächlichen Prozentwert entspricht. Es ist allerdings nur das Äquivalent zu FS20 und somit unscharf, weshalb doch das Reading pct notwendig bleibt.

Im Gegensatz zum Prototypen muss für den Wert eines Readings eine entsprechende Benennung in der powerMap Tabelle gefunden werden, ansonsten wird eine Leistung von 0 angenommen. Daher ist es notwendig dafür zu sorgen, dass man dann im Zweifelsfall auf ein Reading verweist, welches den eindeutigen Wert liefern kann, wenn das Event nicht über dieses Reading erzeugt wurde.

Eine HUE Definition müsste demnach dann also so aussehen:

pct => {
    0   => 0.4,
    100 => 8.5,
},
state => {
    unreachable => 0,
    '*'         => 'pct',
},
« Letzte Änderung: 23 Januar 2017, 17:58:57 von Loredo »
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1885
  • RTFM
Antw:neues Modul 98_powerMap
« Antwort #56 am: 23 Januar 2017, 17:49:26 »
Ich finde es übrigens super, dass sich das Modul entwickelt. An diese Funktionen habe ich bei der Erstellung gar nicht gedacht :)
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: archetype, LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: 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 Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #57 am: 23 Januar 2017, 18:57:52 »
Ich finde es übrigens super, dass sich das Modul entwickelt. An diese Funktionen habe ich bei der Erstellung gar nicht gedacht :)


Find ich auch. Jetzt nur nicht aufhören  ;)
Dachte schon du hast dich abgemeldet  ;D
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16608
Antw:neues Modul 98_powerMap
« Antwort #58 am: 23 Januar 2017, 20:38:06 »
die idee wäre in %hueModels nur die pct werte (oder rgb :) ) zu haben und dann     $hash->{powerMap} = {
        rname_E => 'energy',
        rname_P => 'consumption',
        map     => {
                state => {
                        unreachable => 0,
                        '*'         => 'pct',
            },
        },   
    };   
ein mal fest im modul zu haben und dann dynamisch $hash->{powerMap}{map}{pct} aus $hueModels{powerMap} zuzuweisen sobald das model fest steht.

die frage wäre was passiert wenn das gerüst da ist, für ein modell aber $hash->{powerMap}{map}{pct} aber nicht gefüllt ist? kommt powerMap damit klar oder ist es besser $hash->{powerMap} dann zu löschen/nicht anzulegen?


ich vermute der gesamt verbrauch einer farbigen lampe setzt sich aus einem kleinen konstanten teil und je einer helligkeits abhängigen rampe pro farbe zusammen. bei den farbigen lampen wären das drei. ob es wirklich nötig ist die jeweils spezifischen farben der verbauten rgbs zu berücksichtigen oder ob die näherung über den rgb wert gut genug ist müsste man nachmessen. ich vermute ja. wenn nicht haben wir sowieso ein kleines problem. die daten die phillips veröffentlich passen nicht zur formel aus der api dokumentation. die formel die das modul verwendet passt besser, berücksichtig aber den gamut noch überhaupt nicht. für lightify lampen fehlt diese info komplett. ich vermute eine erste näherung über rgb sollte schon viel besser sein als nur pct auszuwerten.

für die tunable white gilt im prinzip das gleiche, mit zwei helligkeitsabhängigen rampen. die daten zu den verwendeten leds sind aber nicht veröffentlicht. hier müsste man mal nachmessen ob es reicht eine mehr oder weniger lineare verteilung anzunehmen. d.h. ww von 0-100% und kw 100-0% über den gesamten bereich.

das eigentliche problem ist aber das man z.b. das rgb event in die drei komponenten zerlegen muss, pro komponente dann den verbrauch bestimmen muss und dann alles wieder aufaddieren muss.

ein paar messungen sollten schon aufschluss geben ob sich der aufwand lohnt.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16608
Antw:neues Modul 98_powerMap
« Antwort #59 am: 23 Januar 2017, 21:05:21 »
also...

auf die schnelle ein paar stichproben:LCT001:
 jeweils 100% rot -> 24mA, grün -> 47mA, blau -> 19mA
              #FFFFFF -> 51mA
              warm weiß -> 34mA, kalt weiss -> 50mA

LLC014:
  100%:  rot -> 24mA, grün -> 34mA, blau -> 26mA, #FFFFFF -> 36mA
    50%:                            blau -> 18mA, #808080 -> 21mA

d.h. die farbe hat zum teil deutlichen einfluss, bei den extendet lampen am deutlichsten.
bei voller helligkeit werden aber nicht alle kanäle auf 100% gestellt

mein messgerät sollte zwar ziemlich genau sein, lässt sich aber leider nicht automatisch auslesen.
vielleicht findet sich jemand der das ganze automatisieren kann.

vielleicht reicht es für die farbtemperatur den rgb wert auszuwerten.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1885
  • RTFM
Antw:neues Modul 98_powerMap
« Antwort #60 am: 23 Januar 2017, 22:05:45 »
Find ich auch. Jetzt nur nicht aufhören  ;)
Dachte schon du hast dich abgemeldet  ;D
Ne, habe nicht vor mich abzumelden nur so ganz folgen kann ich auch nicht mehr ::)
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: archetype, LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: 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 klausw

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1495
Antw:neues Modul 98_powerMap
« Antwort #61 am: 24 Januar 2017, 16:23:12 »
Bei mir im Log finden sich jede Menge Einträge dieser art:

2017.01.23 22:57:04 1: powerMap Heizkessel: Pumpe_Heizkreis: Adding to total
2017.01.23 22:57:04 1: powerMap Heizkessel: Pumpe_Boiler: Adding to total

Verbose für das powerMap habe ich aber genau aus diesem Grund auf 0 gestellt.
Dadurch müsste es doch unterdrückt werden.
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #62 am: 24 Januar 2017, 17:32:01 »
Ich glaube verbose=0 gibt es so nicht.
Ist auch ein Versehen, ich habe das gerade korrigiert.
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Gruby

  • New Member
  • *
  • Beiträge: 24
    • http://www.atos.net
Antw:neues Modul 98_powerMap
« Antwort #63 am: 29 Januar 2017, 15:51:49 »
Hallo zusammen,

ich bräuchte einen Tip wie die Powermap Daten von verschiedenen Geräten in das Modul Electricity Calculator eingebunden werden können.
Das verfolgte Ziel ist eine Verbrauchsanzeige pro Room sowie eine Gesamtverbrauchsanzeige minus der zugeführten Energie der Solaranlage.

Die Messung erfolgt in der Regel via KNX-Switche mit Strommessung und zusätzlich der nicht messbaren Werte einzelner Verbraucher mittels PowerMap.

Viele Grüße

Gruby

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1885
  • RTFM
Antw:neues Modul 98_powerMap
« Antwort #64 am: 31 Januar 2017, 05:52:50 »
ich bräuchte einen Tip wie die Powermap Daten von verschiedenen Geräten in das Modul Electricity Calculator eingebunden werden können.
Das verfolgte Ziel ist eine Verbrauchsanzeige pro Room sowie eine Gesamtverbrauchsanzeige minus der zugeführten Energie der Solaranlage.
Das ist ja eher eine ElectricityCalculator spezifische Frage und so auch glaube ich nicht umsetzbar.
Ich habe bei mir folgendes definiert
defmod ElectricityCalculator ElectricityCalculator .*:energy.*

defmod powerMap powerMap
attr powerMap powerMap_rname_E energy
attr powerMap powerMap_rname_P power
attr powerMap room helper
Dadurch bekomme ich im ElectricityCalculator für jedes device einzelne Readings, diese werden aber nicht zusammen gefasst.
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: archetype, LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: 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: 1885
  • RTFM
Antw:neues Modul 98_powerMap
« Antwort #65 am: 03 Februar 2017, 06:20:20 »
Die Interpolation des Moduls muss noch angepasst werden.
In dem Thread Kennlinie / Lookup table in Perl umsetzen geht es darum von einem Analogthermometer PLC Werte in Temperatur zu mappen. Dabei gehen die PLC Werte von 1793 bis 15501 (aufsteigend) und die Temperatur Werte von +80°C bis -30°C (absteigend) dadurch, dass im powerMap davon ausgegangen wird, dass es immer aufsteigend, aufsteigend ist kommen falsche Werte zustande. Schuld daran dürften die Zeilen ab 1401 sein
            foreach ( sort keys %{ $powerMap->{$reading} } ) {
                next unless ( looks_like_number($_) );
                $val1 = $_ if ( $_ < $num );
                $val2 = $_ if ( $_ > $num );
                last if ( defined($val2) );
            }
Hier wird erstmalig geschaut wo die nächsten beiden Variablen sind, aber eben sehr plump und es wird davon ausgegangen, dass sie aufsteigend sind. Ich wollte mir nachher mal Gedanken dazu machen wie man das eleganter Lösen kann, aber vielleicht hat ja schon jemand einen Ansatz parat. Auf ein zusätzliches Perl Modul wie Math::Interpolate würde ich gerne verzichten, aber man kann da ja mal rein schauen wie es gelöst wurde.

Edit: Es scheint doch ein anderer Fehler zu sein, auch bei meiner HUE Leuchte wird nicht korrekt interpoliert
2017.02.03 06:33:03 5: powerMap HUEDevice2: pct: val=71 num=71
2017.02.03 06:33:03 5: powerMap HUEDevice2: pct: Interpolating power value between 10 and 100
2017.02.03 06:33:03 4: powerMap HUEDevice2: energy calculation results:
  energyOld : 2724.9165543209 Wh
  powerOld  : 4.7 W
  power     : 6.62222222222222 W
  timeframe : 0.000555555555555556 h
  energyDiff: 0.00261111111111111 Wh
  energy    : 2724.91916543201 Wh
Es wird zwischen 10 und 100 Interpoliert obwohl powerMap so aussieht:
{
  'pct' => {
             '0' => '0.4',
             '10' => '1.2',
             '100' => '9.2',
             '20' => '1.7',
             '30' => '1.9',
             '40' => '2.3',
             '50' => '2.7',
             '60' => '3.4',
             '70' => '4.7',
             '80' => '5.9',
             '90' => '7.5'
           },
  'state' => {
               'off' => '0.4',
               'on' => '9.2',
               'unreachable' => 0
             }
}
« Letzte Änderung: 03 Februar 2017, 06:35:00 von igami »
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: archetype, LuftdatenInfo, monitoring, Nmap
FHEM Module ToDo: 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 Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #66 am: 05 Februar 2017, 15:18:13 »
Die Sortierreihenfolge habe ich gerade korrigiert.
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Online Frosch

  • New Member
  • *
  • Beiträge: 27
Antw:neues Modul 98_powerMap
« Antwort #67 am: 06 Februar 2017, 18:20:43 »
Hallo zusammen,
erstmal danke an alle Beteiligten für die Entwicklung und Umsetzung dieses Moduls.

Gibt es eine Möglichkeit das "pM_energy"-Reading durch powerMap in kWh umrechnen zu lassen, oder muss ich alle Watt-angaben in Kilowatt-angaben ändern?

Gruß Mathias

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #68 am: 11 Februar 2017, 15:43:00 »
Die Einheiten-Umrechnung ist in Unit.pm vorgesehen und kann dann darüber erfolgen.
Derzeit ist es noch nicht möglich und die Einheiten sind in Watt bzw. Wattstunden.


Bitte beachten: Wenn du die Wattangaben im powerMap Attribut in Kilowatt änderst, dann bleibt die Einheit intern trotzdem auf Watt gesetzt. Zukünftig kann es dadurch also u.U. zu Fehlern kommen.
« Letzte Änderung: 11 Februar 2017, 15:59:56 von Loredo »
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline alex885

  • Jr. Member
  • **
  • Beiträge: 70
Antw:neues Modul 98_powerMap
« Antwort #69 am: 14 Februar 2017, 11:57:46 »
Hallo wie kann ich denn diesen State eines HM Dimmer Kanals Mappen?

STATE  chn:off phys:30

benötigt wird natürlich der phys wert.

Merci für die Hilfe

Alex
FHEM auf Hackintosh-NUC, 5 x Rpi mit Fhem2Fhem & Shairport-Sync , FB7390, CUL, HMLAN, ZWave, Zigbee, RfxTrx, Rollotron, mySensors, Xiaomi mi, div Zeuchs..

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #70 am: 18 Februar 2017, 16:07:05 »
Sofern chn: keinen Wert einer Ziffer annehmen kann, kannst du es direkt so verwenden. Es werden automatisch alle Nicht-Ziffern aus dem Wert ignoriert.
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline Vize

  • Full Member
  • ***
  • Beiträge: 402
Antw:neues Modul 98_powerMap
« Antwort #71 am: 17 März 2017, 12:46:10 »
Hallo zusammen,

habe hier u.U. ein etwas seltsames Phänomen.

Gestern habe ich ein HHTPMOD-Device mit geänderten Daten aktualisiert.
Seitdem werden automatisch die Readings für/von powerMap in diesem Device erzeugt, obwohl die Attribute darin gar nicht vergeben sind...

In den Internals des HTTPMOD-Devices findet sich das:
Powermap:
   Readingsdesc:
     Pm_consumption:
       rtype      w
     Pm_energy:
       rtype      whr

Die Attribute sehen so aus, also keine Spur von powerMap:
disable    0
   enableControlSet 1
   enableCookies 1
   reAuthRegex .*Error.*
   reading01Format %.0f
   reading01JSON fuelgauge
   reading01Name Akku-Füllstand
   replacement1Mode key
   replacement1Regex %%password%%
   replacement1Value password
   sid1Header1 Content-Type: text/html
   sid1Header2 Accept: */*
   sid1URL    https://mein-senec.de/
   sid2Data   username=XXX&passwort=%%password%%
   sid2Header1 Accept: */*
   sid2Header2 Content-Type: application/x-www-form-urlencoded
   sid2IgnoreRedirects 1
   sid2URL    https://mein-senec.de/endkunde/auth/authenticate
   sid3Header1 Accept: */*
   sid3Header2 Content-Type: text/html
   sid3URL    https://mein-senec.de/endkunde
   stateFormat { sprintf("%.0f",ReadingsVal($name,"Akku-Füllstand",0)) }
   timeout    20
   userattr   reading01Format reading01JSON reading01Name replacement1Mode:reading,internal,text,expression,key replacement1Regex replacement1Value sid1Data sid1Header1 sid1Header2 sid1URL sid2Data sid2Header1 sid2Header2 sid2IgnoreRedirects:0,1 sid2URL sid3Header1 sid3Header2 sid3URL
   verbose    2

Ist dazu etwas bekannt?

Das Kuriose daran ist, dass ich gestern ebenfalls ein anderes Device in gleicher Weise aktualisiert habe.
Dort tritt dieses Verhalten aber nicht auf...
Ergänzung: In diesem Device stehen ebenfalls in den Internals die Sachen zu Powermap, die Readings tauchen aber wie gesagt nicht auf...

Wenn noch weitere Infos fehlen, bitte einfach Bescheid geben...

Danke schonmal!

Gruß
Andreas
« Letzte Änderung: 17 März 2017, 12:54:29 von Vize »

Offline Vize

  • Full Member
  • ***
  • Beiträge: 402
Antw:neues Modul 98_powerMap
« Antwort #72 am: 20 März 2017, 08:21:22 »
Moin,

hat niemand eine Idee oder einen Hinweis?

Viele Grüße
Andreas

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #73 am: 20 März 2017, 18:46:45 »
Ich habe spontan keine konkrete Idee dazu, weil du nur unvollständige Infos lieferst und man es so nicht nachstellen kann.
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline Vize

  • Full Member
  • ***
  • Beiträge: 402
Antw:neues Modul 98_powerMap
« Antwort #74 am: 21 März 2017, 10:31:02 »
Moin,

welche Infos brauchst du denn noch, bzw. was wäre hilfreich?

Kurios ist halt, dass es (bisher) nur bei einem HTTPMOD-Device auftritt...

Gruß
Andreas

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #75 am: 21 März 2017, 11:13:55 »
Am einfachsten die raw-Definition des betreffenden HTTPMOD Devices, zur Not ein vollständiges List des Devices.
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline Vize

  • Full Member
  • ***
  • Beiträge: 402
Antw:neues Modul 98_powerMap
« Antwort #76 am: 21 März 2017, 12:35:01 »
Hallo Loredo,

hier die raw-Definition:
defmod httpmod_senec_akku HTTPMOD https://mein-senec.de/endkunde/api/status/getaccusavings.php?anlageNummer=0 300
attr httpmod_senec_akku userattr reading01Format reading01JSON reading01Name replacement1Mode:reading,internal,text,expression,key replacement1Regex replacement1Value sid1Data sid1Header1 sid1Header2 sid1IgnoreRedirects:0,1 sid1URL
attr httpmod_senec_akku disable 0
attr httpmod_senec_akku enableControlSet 1
attr httpmod_senec_akku enableCookies 1
attr httpmod_senec_akku reAuthRegex .*Error.*
attr httpmod_senec_akku reading01Format %.0f
attr httpmod_senec_akku reading01JSON fuelgauge
attr httpmod_senec_akku reading01Name Akku-Füllstand
attr httpmod_senec_akku replacement1Mode key
attr httpmod_senec_akku replacement1Regex %%password%%
attr httpmod_senec_akku replacement1Value password
attr httpmod_senec_akku sid1Data username=e@mail.de&passwort=%%password%%
attr httpmod_senec_akku sid1Header1 Content-Type: application/x-www-form-urlencoded
attr httpmod_senec_akku sid1Header2 Accept: */*
attr httpmod_senec_akku sid1IgnoreRedirects 1
attr httpmod_senec_akku sid1URL https://mein-senec.de/endkunde/auth/authenticate
attr httpmod_senec_akku stateFormat { sprintf("%.0f",ReadingsVal($name,"Akku-Füllstand",0)) }
attr httpmod_senec_akku timeout 20
attr httpmod_senec_akku verbose 2

setstate httpmod_senec_akku 48
setstate httpmod_senec_akku 2017-03-21 12:27:02 Akku-Füllstand 48
setstate httpmod_senec_akku 2017-03-21 12:27:02 pM_consumption 0
setstate httpmod_senec_akku 2017-03-21 12:27:02 pM_energy 0
setstate httpmod_senec_akku 2017-03-21 12:27:02 pM_energy_begin 1490095622.67961

Keine Ahnung, wie die pM_ Sachen unter setstate da rein kommen, bzw. wie man sie wieder los wird...

Gruß
Andreas

Offline Vize

  • Full Member
  • ***
  • Beiträge: 402
Antw:neues Modul 98_powerMap
« Antwort #77 am: 22 März 2017, 17:22:36 »
Hallo,

habe noch ein device gefunden, in dem die o.g. pM_ -Readings auftauchen.
Ist eine readingsGroup...

Gruß
Andreas

Offline l2r

  • Full Member
  • ***
  • Beiträge: 489
Antw:neues Modul 98_powerMap
« Antwort #78 am: 23 März 2017, 22:21:44 »
ich habe vorhin auch mal das Modul PowerMap getestet.

Bei mir werden die Readings PM_engergy und PM_consumption angelegt. Zusätzlich auch noch die gleichen Readings engergy und consumption.
Ist das so gewollt oder noch ein Bug? Ich habe das bei mehreren HueDevices festgestellt.

Gruß Michael

EDIT: hat sich erledigt. Attribut powerMap_rname_E wurde gesetzt.
« Letzte Änderung: 28 März 2017, 11:01:52 von l2r »
Wissen ist Macht.
Ich weiß nix.
Macht nix.

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #79 am: 08 April 2017, 13:33:56 »
habe noch ein device gefunden, in dem die o.g. pM_ -Readings auftauchen.
Ist eine readingsGroup...


Es lässt sich für mich so leider nicht nachvollziehen. Die HTTPMOD Definition ist für mich unvollständig, da die INTERNALs fehlen und ich mit der Raw-Definition ohne einen Account dort offenbar keine 1-zu-1 Kopie deines Gerätes bekomme.


Bist du sicher, dass du die aktuellste Version per Update installiert hast und keine ältere Version?
Was passiert denn, wenn du folgendes ausführst:


{Dumper powerMap_findPowerMaps($modules{powerMap}{defptr}{NAME})}


  und



{Dumper powerMap_findPowerMaps($modules{powerMap}{defptr}{NAME}, "httpmod_senec_akku")}






ich habe vorhin auch mal das Modul PowerMap getestet.

Bei mir werden die Readings PM_engergy und PM_consumption angelegt. Zusätzlich auch noch die gleichen Readings engergy und consumption.
Ist das so gewollt oder noch ein Bug? Ich habe das bei mehreren HueDevices festgestellt.

Gruß Michael

EDIT: hat sich erledigt. Attribut powerMap_rname_E wurde gesetzt.


Genau. Wenn man das Attribut verändert, sind ggf. bereits Readings mit dem alten Namen angelegt, die man dann händisch mit deletereading löschen muss.
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline TheTrumpeter

  • Full Member
  • ***
  • Beiträge: 200
Antw:neues Modul 98_powerMap
« Antwort #80 am: 30 April 2017, 13:07:06 »
Ich bekomme folgenden Logfile-Eintrag 32x hintereinander:
Zitat
2017.04.30 13:00:52 2: powerMap LBE: WARNING - Attribute event-min-interval is not compatible when using powerMap with reading 'Auto-Standby'

Hier der Auszug aus der raw-definition des Geräts:
defmod LBE dummy
attr LBE event-aggregator Verdunstungsmenge_24h:300:const:integral:86400
attr LBE event-min-interval .*:300
attr LBE event-on-change-reading .*
attr LBE icon vent_ambient_air
attr LBE powerMap 'Auto-Standby' => { 'ein' => 1, 'aus' => 25,}
attr LBE room LBE250
Das Attribut event-on-change-reading ist für alle Readings des Geräts gesetzt, d.h. der Anspruch von PowerMap lt. CommandRef sollte erfüllt sein.
Warum stört das event-min-interval dann?
(Das habe ich deshalb, um im Logfile auch für Readings, die sich selten ändern, Einträge zwecks durchgängiger Plots zu erhalten...)
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #81 am: 01 Mai 2017, 21:56:22 »
Warum stört das event-min-interval dann?


Das liegt an der Art, wie das Modul arbeitet (und arbeiten muss).
Du kannst es so dann nicht verwenden, tut mir leid.
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline TheTrumpeter

  • Full Member
  • ***
  • Beiträge: 200
Antw:neues Modul 98_powerMap
« Antwort #82 am: 02 Mai 2017, 07:07:23 »
Die Berechnung scheint aber trotzdem korrekt zu sein.

Ich könnte natürlich die Berechnung mit PowerMap und die relevanten Statusgrößen in ein neues Dummy-Modul auslagern, um die Fehlermeldung nicht mehr zu bekommen.

Würde nur gerne verstehen, wo der Fehler herkommt, da das Modul trotz der Fehlermeldung (eigentlich Warnung) korrekt zu arbeiten scheint.


Einzig im Filelog habe ich die Readings nicht regelmässig drin, sondern nur sporadisch. Hängt das damit zusammen?
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:neues Modul 98_powerMap
« Antwort #83 am: 02 Mai 2017, 10:05:59 »
Das Modul arbeitet Event basiert. Wenn du event-min-interval verwendest, schneidest du diese Events ab.
Es wird zwar richtig gerechnet, aber bei Devices wie einer Lampe wird damit der Zustand an/aus nicht korrekt übertragen, weil das Event dann eben fehlt. Bei Geräten, die regelmäßig ein Event erzeugen, ist das allerdings weniger ein Problem.


Filelog: Ohne Event kann auch nichts verarbeitet werden und wieder ein neues Event fürs Filelog erzeugt werden.


Mit event-aggregator ist das Modul ebensowenig kompatibel. Es wird empfohlen über DbLog zu loggen und die dortigen Möglichkeiten (z.B. für wie häufig etwas geloggt werden soll) zu nutzen.
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline TheTrumpeter

  • Full Member
  • ***
  • Beiträge: 200
Antw:neues Modul 98_powerMap
« Antwort #84 am: 18 Mai 2017, 21:36:36 »
Ich habe powerMap nun in ein Dummy-Gerät ausgelagert, das per Notify vom "echten" Gerät gefüttert wird. Damit klappt es wunderbar.
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight

 

decade-submarginal