modul readingsProxy

Begonnen von justme1968, 24 November 2013, 22:15:10

Vorheriges Thema - Nächstes Thema

justme1968

anbei ein modul readingsProxy mit dem sich readings (oder teile eines readings) in ein neues unabhängiges device verwandeln lassen.

damit kann man z.b. für die 2 oder 8 fach 1-wire schalter/sensoren pro kanal ein eigenes device erzeugen das dann einen eigenen state, eigenes icon und eigene webCmd liste haben kann. so kann auch jeder kanal als eigenes device auf einem floorplan platziert werden.define myProxy readingsProxy myDS2406:latch.A
attr myProxy valueFn {($VALUE == 1)?"on":"off"}


andere beispiele sind EnOcean geräte mit mehreren kanälen und SWAP devices bei denen in einem reading der status mehrerer ein oder ausgabe pins zusammen gefasst ist.

threads mit problemen die sich mit diesem modul lösen lassen finden sich z.b. hier: http://forum.fhem.de/index.php/topic,13841.0.html oder hier: http://forum.fhem.de/index.php/topic,16374.0.html

das modul stellt die attribtute setList und getList bereit um die liste der möglichen set und get commandos anzugeben. readingFnAttributes werden unterstützt auch wenn das parent device diese nicht unterstützt. (d.h. man könnte damit einem device das nur on und off aber kein on-for-timer unterstütz dieses über einen umweg beibringen)

weiterhin gibt es die attribute getFn, setFn und valueFn. diese ermöglichen es über jeweils einen perl ausdruck die zum parent durchgereichten get und set commandos sowie den vom parent erhaltenen reading wert zu manipulieren.

ein mögliches (nicht unbedingt sinnvolles beispiel) wäre:define proxy readingsProxy meineLampe:state
attr proxy setFn {($CMD eq "on")?"off":"on"}
attr proxy valueFn {($VALUE eq "on")?"off":"on"}
hierbei wird die bedeutung von set on und set off vertauscht und der state und somit das device icon jeweils auf den entgegengesetztem zustand gemappt.

bei positivem feedback und genügend anwendern werde ich das modul auch ganz normal einchecken.

gruss
  andre

edit: fehlende klammer behoben
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

rudolfkoenig

FHEM bietet z.Zt. keine gute Loesung an, um Geraete mit mehreren Kanaelen abzubilden, das wird den Modulen ueberlassen, und diese machen es z.Zt. meiner Ansicht nach mehr oder weniger schlecht.
Ich wuerde mich freuen, wenn wir eine allgemeine Loesung dafuer finden, und dieses Modul kann das entweder direkt bieten, oder wir lernen dabei, was/wie man das richtig machen soll, insofern bin ich fuers einchecken.

P.S. Im Beispiel fehlt ein }
P.P.S: Doku: forwardet -> forwarded

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968