Anfängerfrage: Wie macht man eine einfache Und-Verknüpfung?

Begonnen von Jogi, 17 Februar 2017, 12:17:10

Vorheriges Thema - Nächstes Thema

betateilchen

Ich wollte es EINFACH und verständlich erklärt haben. Und in einer einfachen Erklärung gibt es kein clientstate_priority und clientstate_behavior.

Aber manche Leute müssen offenbar aus allem eine Wissenschaft machen...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Otto123

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

betateilchen

Das notify triggert auf die structure und ruft eine Funktion auf


st_az1:.* { myAz($NAME,$EVENT) }



sub myAz($$) {
   my ($dev,$evt) = @_;
   if($evt eq 'off') {
   fhem("set az_switch off");
   } else {
    fhem("set az_switch on");
   }
   return;
}


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

Jogi

Zitat von: Otto123 am 17 Februar 2017, 12:35:20
Hi,

Für die Raw Def als komplettes Testscenario:
define T_Aktor1 dummy
define T_Aktor2 dummy
attr T_Aktor[1-2] webCmd on:off
define T_Lampe1 dummy
defmod T_di_Aktor DOIF ([T_Aktor1] eq "on" and [T_Aktor2] eq "on" )(set T_Lampe1 on) DOELSE (set T_Lampe1 off)
attr T_.* room Test


Dazu noch Franky's korrigierte :) notify Variante:
defmod T_nty_Aktor notify T_Aktor[1,2]:(on|off) {if ((Value("T_Aktor1") eq "on") && (Value("T_Aktor2") eq "on")) {fhem "set T_Lampe1 on"} else {fhem "set T_Lampe1 off"}}
attr T_nty_Aktor room Test


Gruß Otto

Vielen Dank, das hat funktioniert!!!