Notify wenn zwei Bedingungen zutreffen

Begonnen von teufelchen, 16 Januar 2016, 18:46:51

Vorheriges Thema - Nächstes Thema

teufelchen

Hallo,

ich versuche ein Notify hinbekommen, wenn zwei Bedingungen zutreffen.
define TV_Licht1_an notify (Tablet:present&Handy:present) set A01 on
attr TV_Licht1_an room Wohnzimmer

Leider funktioniert dies nicht.
Auch der Versuch mit && brachte keinen Erfolg.

Wenn ich die Abfrage mit "oder" teste funktioniert es.
define TV_Licht2_an notify (Tablet:present|Handy:present) set A02 on
attr TV_Licht2_an room Wohnzimmer


Bei meines Suche habe ich auch nichts dazu gefunden.

Raspberry Pi 3
CUL433: V 1.26.05 a-culfw Build: 311 (2018-12-09_19-12-53) CUL433 (F-Band: 433MHz)
freq:433.920MHz bWidth:325KHz rAmpl:42dB sens:4dB
Debmatic mit RPI-RF-MOD

Puschel74

Zitatich versuche ein Notify hinbekommen, wenn zwei Bedingungen zutreffen.
Das lässt sich mWn nicht per regexp sondern nur per Abfrage im Code lösen.
Dafür wäre vermutlich DOIF einfacher - siehe deutsche commandref (sorry ich verwende kein DOIF).
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

betateilchen

Was willst Du denn erreichen? Das Licht soll nur angehen, wenn sowohl Handy als auch Tablet "present" sind?

Pack die beiden Geräte einfach in eine structure und triggere das notify auf die structure. Wenn die structure "present" ist, sind beide Geräte anwesend.

(Ja, es gibt noch andere Lösungen, aber darunter sind auch Lösungen, die ich nicht mag)

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

teufelchen

@betateilchen:
Ja ich will das Licht nur Einschalten wenn beide Geräte anwesend sind.

Da Gesamtziel ist noch eine Dummy-Variable als dritte Bedingung mit abzufragen.
Der Dummy hat die Variable hell/dunkel. So dass da Licht nur dann angehen soll wenn beide Geräte anwesend und es dunkel ist.

Aber ich scheitere schon bei den beiden Geräten.
Raspberry Pi 3
CUL433: V 1.26.05 a-culfw Build: 311 (2018-12-09_19-12-53) CUL433 (F-Band: 433MHz)
freq:433.920MHz bWidth:325KHz rAmpl:42dB sens:4dB
Debmatic mit RPI-RF-MOD

betateilchen

naja, mit der structure bildest Du schonmal die Geräte ab und im zugehörigen notify baust Du einfach die hell/dunkel Abfrage ein.

Schema:

define n_strucPresent notify structure_XY:present { fhem("set Licht on") if (ReadingsVal('dummy','state','hell') eq 'dunkel') }
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Puschel74

OT
Hab ich schon gesehen betateilchen  ;D
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

teufelchen

Danke für die schnelle Hilfe.

Ich es jetzt mit DOIF realisiert.
Kannte dies noch nicht.

Der Code falls mal jemand ein ähnliches Problem hat:

define TV_Licht DOIF ([Handy] eq "present" and [Tablet] eq "present" and [Helligkeit] eq "dunkel") (set A01 on, set A02 on) DOELSE (set A01 off, set A02 off)
attr TV_Licht room Wohnzimmer


@betateilchen: Auch eine interessante Lösung, werde ich mir mal merken
Raspberry Pi 3
CUL433: V 1.26.05 a-culfw Build: 311 (2018-12-09_19-12-53) CUL433 (F-Band: 433MHz)
freq:433.920MHz bWidth:325KHz rAmpl:42dB sens:4dB
Debmatic mit RPI-RF-MOD