Autor Thema: readingsGroup mit Strom und Gas  (Gelesen 2880 mal)

Offline aorta

  • New Member
  • *
  • Beiträge: 29
readingsGroup mit Strom und Gas
« am: 22 Dezember 2016, 22:56:38 »
Hallo
Wie bekomme ich die Einheiten richtig hin. Stromzähler passen. Gas und Wasser möchte ich gerne in (energy0 in cbm und power in L/Min) angezeigt haben. Alle Zähler bekommen die gleichen Zahlen durch power, das ist der Momentverbrauch und energy0 ist der Zählerstand als Zahlenwert. Stromzähler werden ja richtig mit Watt und kwh angezeigt. Bei Gas und Wasser muss der Zahlenwert für power noch mit 60 multipliziert werden um ihn in L/Min an zu zeigen. Geht sowas überhaupt und wenn wie. Suche und probiere schon seit Tagen.... :'(

Danke und Gruss
Patrick

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21025
Antw:readingsGroup mit Strom und Gas
« Antwort #1 am: 23 Dezember 2016, 09:28:02 »
du musst im valueFormat mapping die device namen mit berücksichtigen.

  '<device>.<reading>' => '...', ...

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 aorta

  • New Member
  • *
  • Beiträge: 29
Antw:readingsGroup mit Strom und Gas
« Antwort #2 am: 23 Dezember 2016, 17:57:53 »
Hallo
Danke für die Hilfe. So habe ich es nun gemacht und die Einheiten passen. Jetzt noch die Frage, wie bekomme ich die power Werte für Wasser und Gas mit 60 multipliziert und angezeigt?
Beim Plot habe ich dies eingesetzt :::$val=($val*=60) damit es passt.

{"Hauptzaehler.power"=> "%.2f W", "Hauptzaehler.energy0"=> "%.1f kWh", "Gaszaehler.power"=> "%.2f L/Min", "Gaszaehler.energy0"=> "%.2f cbm", "Zwischenzaehler.power"=> "%.2f W", "Zwischenzaehler.energy0"=> "%.1f kWh", "Wasserzaehler.power"=> "%.2f L/Min", "Wasserzaehler.energy0"=> "%.2f cbm"}
Danke und Gruß
Patrick

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21025
Antw:readingsGroup mit Strom und Gas
« Antwort #3 am: 23 Dezember 2016, 18:17:51 »
z.b. so:

valueFormat: {..., "power"=> '{sprintf("%.2f",$VALUE*60)}', ...}

valueSuffix: {"Hauptzaehler.power" => "W", "Gaszaehler.power" => L/Min" }
« Letzte Änderung: 28 Dezember 2016, 22:21:16 von justme1968 »
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
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline aorta

  • New Member
  • *
  • Beiträge: 29
Antw:readingsGroup mit Strom und Gas
« Antwort #4 am: 23 Dezember 2016, 19:17:23 »
Hi
Einfach perfekt! Bist heute mein Held des Tages! ;D
Falls noch jemand so ein Problem hat, hier mein ganzer Code:
define Verbrauch readingsGroup TYPE=EnOcean:power,energy0
attr Verbrauch mapping %ALIAS
attr Verbrauch room Verbrauch
attr Verbrauch sortby 1
attr Verbrauch style style="font-size:20px"
attr Verbrauch valueFormat {"Hauptzaehler.energy0"=> "%.1f kWh", "Gaszaehler.power"=>'{sprintf("%.2f"),$VALUE*60}', "Gaszaehler.energy0"=> "%.1f m³", "Zwischenzaehler.energy0"=> "%.1f kWh", "Wasserzaehler.power"=> '{sprintf("%.2f"),$VALUE*60}', "Wasserzaehler.energy0"=> "%.1f m³"}
attr Verbrauch valueStyle {($READING eq "power" && $VALUE > 1000)?'style="color:red"':'style="color:green"'}
attr Verbrauch valueSuffix {"Hauptzaehler.power" => " W", "Gaszaehler.power" => " l/min", "Wasserzaehler.power" => " l/min", "Zwischenzaehler.power" => " W" }
Vielen Dank und frohes Fest
Patrick
« Letzte Änderung: 23 Dezember 2016, 22:42:37 von aorta »

Offline hartenthaler

  • Full Member
  • ***
  • Beiträge: 264
Antw:readingsGroup mit Strom und Gas
« Antwort #5 am: 23 Dezember 2016, 21:45:48 »
... nur noch kleine perfektionistische Anmerkungen:
  • Volumen-Einheit ist m³ und nicht cbm
  • Einheit für den Volumenstrom ist nicht L/Min sondern l/min oder noch besser umgerechnet in m³/s
Im Prinzip könntest Du den Energiegehalt beim Gas auch in kWh oder den Gaszaehler.power-Wert in W ausdrücken. Der Energiegehalt eines m³ Gas in kWh sollte in der Gasrechnung stehen. Dann kann man den Energieverbrauch durch Strom und Gas besser 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 aorta

  • New Member
  • *
  • Beiträge: 29
Antw:readingsGroup mit Strom und Gas
« Antwort #6 am: 23 Dezember 2016, 22:38:52 »
Hallo
l/min und m³ habe ich schon geändert. Da ich aus der Installationsbranche komme, ist für mich l/min zur Überwachung des Kessels wichtig. Genauso wird l/min für Mischbatterien, elektr. Warmwassererzeugung usw benötigt. Und aus meinem täglichen Leben hantiere ich halt mit l/min. Da macht dieser Wert für mich am meisten Sinn.

Gruß
Patrick

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21025
readingsGroup mit Strom und Gas
« Antwort #7 am: 24 Dezember 2016, 01:18:03 »
noch eine kleine verbesserung :)

da das valueFormat für beide power readings jetzt identisch kannst du sie wieder zu einem power => zusammenfassen.

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 aorta

  • New Member
  • *
  • Beiträge: 29
Antw:readingsGroup mit Strom und Gas
« Antwort #8 am: 24 Dezember 2016, 14:27:52 »
Hi
Doch noch ein Problem. Es läuft wie gewünscht aber mein Log ist mit folgender Meldung voll:
 1: PERL WARNING: Useless use of sprintf in void context at (eval 3797) line 1.
 1: PERL WARNING: Missing argument in sprintf at (eval 3797) line 1.
Was bedeutet es?

Frohes Fest und Gruß
Patrick

Offline aorta

  • New Member
  • *
  • Beiträge: 29
Antw:readingsGroup mit Strom und Gas
« Antwort #9 am: 28 Dezember 2016, 20:22:05 »
Hallo
Kann mir niemand einen Rat geben?
MfG
Patrick

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21025
Antw:readingsGroup mit Strom und Gas
« Antwort #10 am: 28 Dezember 2016, 21:36:21 »
schalte mal global stacktrace ein und zeige wo die meldung genau her kommt.

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 aorta

  • New Member
  • *
  • Beiträge: 29
Antw:readingsGroup mit Strom und Gas
« Antwort #11 am: 28 Dezember 2016, 22:02:59 »
Hallo
So habe ich gemacht. Sagt mir aber nix... 2016.12.28 22:00:40 1: PERL WARNING: Useless use of sprintf in void context at (eval 30) line 1.
2016.12.28 22:00:40 1: stacktrace:
2016.12.28 22:00:40 1:     main::__ANON__                      called by (eval 30) (1)
2016.12.28 22:00:40 1:     (eval)                              called by ./FHEM/33_readingsGroup.pm (373)
2016.12.28 22:00:40 1:     main::lookup2                       called by ./FHEM/33_readingsGroup.pm (526)
2016.12.28 22:00:40 1:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (1063)
2016.12.28 22:00:40 1:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1162)
2016.12.28 22:00:40 1:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (1664)
2016.12.28 22:00:40 1:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (916)
2016.12.28 22:00:40 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (457)
2016.12.28 22:00:40 1:     main::FW_Read                       called by fhem.pl (3296)
2016.12.28 22:00:40 1:     main::CallFn                        called by fhem.pl (673)
2016.12.28 22:00:40 1: PERL WARNING: Missing argument in sprintf at (eval 30) line 1.
2016.12.28 22:00:40 1: stacktrace:
2016.12.28 22:00:40 1:     main::__ANON__                      called by (eval 30) (1)
2016.12.28 22:00:40 1:     (eval)                              called by ./FHEM/33_readingsGroup.pm (373)
2016.12.28 22:00:40 1:     main::lookup2                       called by ./FHEM/33_readingsGroup.pm (526)
2016.12.28 22:00:40 1:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (1063)
2016.12.28 22:00:40 1:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1162)
2016.12.28 22:00:40 1:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (1664)
2016.12.28 22:00:40 1:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (916)
2016.12.28 22:00:40 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (457)
2016.12.28 22:00:40 1:     main::FW_Read                       called by fhem.pl (3296)
2016.12.28 22:00:40 1:     main::CallFn                        called by fhem.pl (673)
2016.12.28 22:00:40 1: PERL WARNING: Useless use of sprintf in void context at (eval 39) line 1.
2016.12.28 22:00:40 1: stacktrace:
2016.12.28 22:00:40 1:     main::__ANON__                      called by (eval 39) (1)
2016.12.28 22:00:40 1:     (eval)                              called by ./FHEM/33_readingsGroup.pm (373)
2016.12.28 22:00:40 1:     main::lookup2                       called by ./FHEM/33_readingsGroup.pm (526)
2016.12.28 22:00:40 1:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (1063)
2016.12.28 22:00:40 1:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1162)
2016.12.28 22:00:40 1:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (1664)
2016.12.28 22:00:40 1:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (916)
2016.12.28 22:00:40 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (457)
2016.12.28 22:00:40 1:     main::FW_Read                       called by fhem.pl (3296)
2016.12.28 22:00:40 1:     main::CallFn                        called by fhem.pl (673)
2016.12.28 22:00:40 1: PERL WARNING: Missing argument in sprintf at (eval 39) line 1.
2016.12.28 22:00:40 1: stacktrace:
2016.12.28 22:00:40 1:     main::__ANON__                      called by (eval 39) (1)
2016.12.28 22:00:40 1:     (eval)                              called by ./FHEM/33_readingsGroup.pm (373)
2016.12.28 22:00:40 1:     main::lookup2                       called by ./FHEM/33_readingsGroup.pm (526)
2016.12.28 22:00:40 1:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (1063)
2016.12.28 22:00:40 1:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1162)
2016.12.28 22:00:40 1:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (1664)
2016.12.28 22:00:40 1:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (916)
2016.12.28 22:00:40 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (457)
2016.12.28 22:00:40 1:     main::FW_Read                       called by fhem.pl (3296)
2016.12.28 22:00:40 1:     main::CallFn                        called by fhem.pl (673)
2016.12.28 22:01:28 1: PERL WARNING: Useless use of sprintf in void context at (eval 485) line 1.
2016.12.28 22:01:28 1: stacktrace:
2016.12.28 22:01:28 1:     main::__ANON__                      called by (eval 485) (1)
2016.12.28 22:01:28 1:     (eval)                              called by ./FHEM/33_readingsGroup.pm (373)
2016.12.28 22:01:28 1:     main::lookup2                       called by ./FHEM/33_readingsGroup.pm (526)
2016.12.28 22:01:28 1:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (1063)
2016.12.28 22:01:28 1:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1162)
2016.12.28 22:01:28 1:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (1664)
2016.12.28 22:01:28 1:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (916)
2016.12.28 22:01:28 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (457)
2016.12.28 22:01:28 1:     main::FW_Read                       called by fhem.pl (3296)
2016.12.28 22:01:28 1:     main::CallFn                        called by fhem.pl (673)
2016.12.28 22:01:28 1: PERL WARNING: Missing argument in sprintf at (eval 485) line 1.
2016.12.28 22:01:28 1: stacktrace:
2016.12.28 22:01:28 1:     main::__ANON__                      called by (eval 485) (1)
2016.12.28 22:01:28 1:     (eval)                              called by ./FHEM/33_readingsGroup.pm (373)
2016.12.28 22:01:28 1:     main::lookup2                       called by ./FHEM/33_readingsGroup.pm (526)
2016.12.28 22:01:28 1:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (1063)
2016.12.28 22:01:28 1:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1162)
2016.12.28 22:01:28 1:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (1664)
2016.12.28 22:01:28 1:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (916)
2016.12.28 22:01:28 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (457)
2016.12.28 22:01:28 1:     main::FW_Read                       called by fhem.pl (3296)
2016.12.28 22:01:28 1:     main::CallFn                        called by fhem.pl (673)
2016.12.28 22:01:28 1: PERL WARNING: Useless use of sprintf in void context at (eval 494) line 1.
2016.12.28 22:01:28 1: stacktrace:
2016.12.28 22:01:28 1:     main::__ANON__                      called by (eval 494) (1)
2016.12.28 22:01:28 1:     (eval)                              called by ./FHEM/33_readingsGroup.pm (373)
2016.12.28 22:01:28 1:     main::lookup2                       called by ./FHEM/33_readingsGroup.pm (526)
2016.12.28 22:01:28 1:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (1063)
2016.12.28 22:01:28 1:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1162)
2016.12.28 22:01:28 1:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (1664)
2016.12.28 22:01:28 1:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (916)
2016.12.28 22:01:28 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (457)
2016.12.28 22:01:28 1:     main::FW_Read                       called by fhem.pl (3296)
2016.12.28 22:01:28 1:     main::CallFn                        called by fhem.pl (673)
2016.12.28 22:01:28 1: PERL WARNING: Missing argument in sprintf at (eval 494) line 1.
2016.12.28 22:01:28 1: stacktrace:
2016.12.28 22:01:28 1:     main::__ANON__                      called by (eval 494) (1)
2016.12.28 22:01:28 1:     (eval)                              called by ./FHEM/33_readingsGroup.pm (373)
2016.12.28 22:01:28 1:     main::lookup2                       called by ./FHEM/33_readingsGroup.pm (526)
2016.12.28 22:01:28 1:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (1063)
2016.12.28 22:01:28 1:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1162)
2016.12.28 22:01:28 1:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (1664)
2016.12.28 22:01:28 1:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (916)
2016.12.28 22:01:28 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (457)
2016.12.28 22:01:28 1:     main::FW_Read                       called by fhem.pl (3296)
2016.12.28 22:01:28 1:     main::CallFn                        called by fhem.pl (673)

Gruß
Patrick

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21025
Antw:readingsGroup mit Strom und Gas
« Antwort #12 am: 28 Dezember 2016, 22:06:30 »
mach mal bitte vor die beiden sprintf im value format noch ein return

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 aorta

  • New Member
  • *
  • Beiträge: 29
Antw:readingsGroup mit Strom und Gas
« Antwort #13 am: 28 Dezember 2016, 22:09:23 »
Wie genau meinst du es?
Stehe gerade auf dem Schlauch.... Sorry..

Gruß
Patrick

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21025
Antw:readingsGroup mit Strom und Gas
« Antwort #14 am: 28 Dezember 2016, 22:22:19 »
sorry, ich habe gerade gesehen das die klammern falsch sind. so muss es aussehen:attr Verbrauch valueFormat {"Hauptzaehler.energy0"=> "%.1f kWh", "Gaszaehler.power"=>'{sprintf("%.2f",$VALUE*60)}', "Gaszaehler.energy0"=> "%.1f m³", "Zwischenzaehler.energy0"=> "%.1f kWh", "Wasserzaehler.power"=> '{sprintf("%.2f",$VALUE*60)}', "Wasserzaehler.energy0"=> "%.1f m³"}
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 aorta

  • New Member
  • *
  • Beiträge: 29
Antw:readingsGroup mit Strom und Gas
« Antwort #15 am: 28 Dezember 2016, 22:41:51 »
Hi
Sieht gut aus. Zur Zeit kein Eintrag mehr im Log. Daaaaaanke.  ;D

Gruß
Patrick