Hauptmenü

userReading erstellen

Begonnen von Feinfinger, 05 Mai 2021, 18:44:10

Vorheriges Thema - Nächstes Thema

Feinfinger

Hallo zusammen,

Folgendes problem:

Ich habe ein Device welches mir das Reading aktRunningAction mit den states on, off, noAction liefert.

Für eine Automation benöige ich das Reading aber in dieser Form 0, 1, 2

Kann man das mittels Userreading und Perl machen?


Oder muss ich den Weg über ein DOIF gehen?


Da ich null Plan von Perl habe, wäre ich froh über einen Ansatz.
Proxmox VM - MAPLE-CUL - SIGNALDINO

Otto123

#1
Hi,

ev. so: im DEF Editor eingeben. Nicht getestet, kann Fehler enthalten!
userReadings
newState:aktRunningAction:.* {my %t=('on'=>0,'off'=>1,'noAction'=>2);return $t{ReadingsVal($name,'aktRunningAction','error')}}

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Feinfinger

Hallo Otto,


Vielen Dank für den Ansatz.

Ich kann das jetzt glaube ich nachvollziehen, allerdings wird das reading newState nicht angelegt.


Evtl ein Fehler im Syntax? 
Proxmox VM - MAPLE-CUL - SIGNALDINO

Feinfinger

Habs jetzt so gelöst.

PositionState {if(ReadingsVal("Siro_Buero","aktRunningAction","") eq "on") {return 0} elsif (ReadingsVal("Siro_Buero","aktRunningAction","") eq "off") {return 1} elsif (ReadingsVal("Siro_Buero","aktRunningAction","") eq "noAction") {return 2}}

Danke für den Anstoß!
Proxmox VM - MAPLE-CUL - SIGNALDINO

TomLee

Zitat von: Feinfinger am 05 Mai 2021, 21:06:27
Hallo Otto,


Vielen Dank für den Ansatz.

Ich kann das jetzt glaube ich nachvollziehen, allerdings wird das reading newState nicht angelegt.


Evtl ein Fehler im Syntax?

Liegt mMn. am trigger des userReadings  (darum gings gerade heute in einem anderen Thread), der sollte meinem Verständnis nach dann mit newState:aktRunningAction:.* definiert werden, dann wärs mit dem Hash-Beispiel kürzer und übersichtlicher umgesetzt.

Otto123

Thomas hat Recht, ich habe es oben geändert.

Wie null Plan von perl sieht Dein Code aber nicht aus :)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

mi.ke

das müsste doch auch mit FHEM Bordmitteln funktionieren, oder?

attr <device> eventMap on:0 off:1 noAction:2

cheers
mi.ke
FHEM 5.9 | RPi4 + 5 x RPi(Z) + FB7590 + FB 6890 LTE via LAN und WAN (VPN) verbunden.
2 x CUL868 + 3 x RFXTRX(e) + 6 x HMwLanGW + 4 x z2tGw + 5 x LGW + 2 x IRBlast + CO2 +++
FS20, FHT, FMS, Elro(mod), CM160, Revolt, LGTV, STV, AVR, withings, HM-sec-*, HM-CC-RT-DN, AMAD, PCA301, arlo, Aqara

Feinfinger

Zitat von: Otto123 am 05 Mai 2021, 22:04:07
Wie null Plan von perl sieht Dein Code aber nicht aus :)

:) Danke für die Blumen


Deine Variante ist aber definitiv schöner und kürzer!

Hab ich jetzt auch übernommen  ;)
Proxmox VM - MAPLE-CUL - SIGNALDINO

Feinfinger

Zitat von: mi.ke am 05 Mai 2021, 22:13:54
das müsste doch auch mit FHEM Bordmitteln funktionieren, oder?

attr <device> eventMap on:0 off:1 noAction:2

cheers
mi.ke

eventMap ist nicht ganz so optimal, da es im device mehrere readings gibt, die ein ,,on" oder ,,off" ausgeben.
Proxmox VM - MAPLE-CUL - SIGNALDINO