FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: ole30419 am 28 Mai 2020, 11:57:42

Titel: [gelöst] Reading als state an dummy übergeben ohne Komma
Beitrag von: ole30419 am 28 Mai 2020, 11:57:42
Hallo,
ich versuche leider ohne Erfolg :-[ eine Reading über ein notify zugübergeben aber als ganze Zahl ohne Komma und ohne es mit stateFormat später zu bearbeiteten.
Ich habe eine Leistungsmesser von MomeMatic (HM-ES-PMSw1-Pl) und brauche, für openWB (Wallbox), die Leistung in Watt ohne Kommastelle.
Habe eine notify angelegt:

define PV_Module6Setzen notifyHM_Messung_Pwr {my $var= ReadingsVal("HM_Messung_Pwr","power",0); fhem("set PV_Module_aktuell_Watt_openWB $var ");}

Und über gebe es eine dummy ,,PV_Module_aktuell_Watt_openWB" nun wird unter ,,Readings" die Leistung in Watt angezeigt aber leider mit zwei stellen nach Komma.

Gibt es eine Möglichkeit ohne stateFormat das direkt im dummy under Readings ohne Kommastelle auszugeben?

Gruß Karsten
Titel: Antw:Reading als state an dummy übergeben ohne Komma
Beitrag von: Beta-User am 28 Mai 2020, 12:35:19
Ähm, diese Konstruktion ist "komisch"...

Der Reihe nach:
- Wenn du etwas formatieren willst, geht das z.B. mit Perl-sprintf (bitte Doku selber suchen, das kann runden, alternativ "int").
- Werte zwischen verschiedenen Devices mit Eventhandlern "umzupacken" (v.a. in Dummy) ist meistens nicht nötig; hier klingt das danach, als wäre ein userReading der richtige Weg (oder gleich die formatierte Übermittlung an das Zieldevice, aber nicht an den dummy).
Titel: Antw:Reading als state an dummy übergeben ohne Komma
Beitrag von: ole30419 am 28 Mai 2020, 15:01:14
Ok, wenn das ,,komisch" ist  ;) dann versuch ich das mal besser zu erklären.

OpenWB holt sich Werte bei FHEM ab und zwar so:

http://<FHEM_IP>:<port>/fhem?XHR=1&cmd=%7BReadingsVal(%22<device>%22,%22<reading>%22,0)%7D

Also habe ich ein notify welchen in ein reading ein dummy schreibt, ich bekomme es aber nicht hin des Komma wegzunehmen.

Im Readings von  PV_Module_aktuell_Watt_openWB wird es immer mit Komma angezeigt zB: 2345.33

define PV_Module6Setzen notifyHM_Messung_Pwr {my $var= ReadingsVal("HM_Messung_Pwr","power",0); fhem("set PV_Module_aktuell_Watt_openWB $var ");}
Titel: Antw:Reading als state an dummy übergeben ohne Komma
Beitrag von: Beta-User am 28 Mai 2020, 15:08:07
Na ja, und was spricht denn jetzt dagegen, das abzuholende Reading als userReading beim Ausgangsdevice zu halten?

"int" war ja genannt, ungetestet sollte das hier klappen:
attr HM_Messung_Pwr userReadings power_commaless:power.* {int(ReadingsVal($name,"power",0))}
Titel: Antw:Reading als state an dummy übergeben ohne Komma
Beitrag von: amenomade am 28 Mai 2020, 18:16:58
http://<FHEM_IP>:<port>/fhem?XHR=1&cmd=%7Bint(ReadingsVal(%22<device>%22,%22<reading>%22,0))%7D
sollte auch gehen
Titel: Antw:Reading als state an dummy übergeben ohne Komma
Beitrag von: ole30419 am 28 Mai 2020, 19:56:44
@Beta-User Sorry ich habe vorher schon viele gesucht im Forum und es klappt auch einiges, aber manchmal blickt man es halt nicht....

@amenomade Danke genau damit hat es geklappt und ich brauch kein notify und dummy

Ich bin immer wieder begeistert von EUCH ;D ;D ;D ;D DANKE !!!!! :D ;D :D