Erweitertes "SET"

Begonnen von FHEMAN, 12 Januar 2015, 22:36:35

Vorheriges Thema - Nächstes Thema

FHEMAN

Hallo,

ich wünsche mir einen SET Befehl (bspw. setEx für extended), der Set nur ausführt, wenn OldValue != NewValue.

PS: ich weiß, wie ich in perl Funktionen erstellen und aufrufen kann. Aber kann ich auch eigene FHEM Funktionen implementieren?

Gruß
derron
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

stromer-12

Suche mal nach FILTER.

set Device=FILTER=state!=on on
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

FHEMAN

FILTER ist zwar cool, aber bringt mich bei
set Lampe:FILTER=STATE!=off off
nicht weiter, denn "falls ein Gerätename exakt dem Spezifikation entspricht, dann werden keine reguläre Ausdrücke oder Filter ausgewertet. (commandref)"!?

NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

justme1968

die filter werden angewendet und sind genau das was du willst.

der satz in der commandref ist etwas unglücklich und will auf etwas anderes raus: wenn es ein device gibt das genau so heisst wie der komplette devspec ausdruck hat dies vorrang.

das kann aber hier nicht passieren weil ! und = keine erlaubten zeichen im device namen sind. es kann ken device geben das Lampe:FILTER=STATE!=off heisst.

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

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