Gelöst!: Ich bekomme die Oder-Verknüpfung nicht hin

Begonnen von Jogi, 01 Juli 2017, 13:59:52

Vorheriges Thema - Nächstes Thema

Jogi

Hallo zusammen,
ich stelle mich -trotz Recherche im Forum- gerade etwas doof an und bekomme eine Oder-Verknüpfung nicht hin.

Ich möchte einen Dummy "AUS" einschalten, wenn einer von mehreren Geräten eingeschaltet ist.
Ich habe versucht, es so zu lösen, aber da passt etwas nicht:

#
define nAUSoder notify
{
if (Value("Gartenbeleuchtung") eq "on" || Value("Wohnzimmer") eq "on" || Value("Warmwasserpumpe") eq "on" || Value("RaspiWohnZi") eq "on" || Value("Leselampe") eq "on") {
   fhem "set AUS on";
}
}
#


Kann mir jemand auf die Sprünge helfen.
Vielen Dank!

Otto123

#1
Hi,

naja erstens fehlt der Trigger
define nAUSoder notify  <hier käme der Auslöser>

und das ; in -> fhem "set AUS on"; brauchst Du nicht, oder wenn schon, dann müssten es im define zwei sein ;;

Also, wenn Du nur den Ausführungsteil in der Kommandozeile testest würde der funktionieren, wenn ich nicht was übersehen habe.

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

Jogi

Zitat von: Otto123 am 01 Juli 2017, 14:05:33
Hi,

naja erstens fehlt der Trigger
define nAUSoder notify  <hier käme der Auslöser>

und das ; fhem "set AUS on"; brauchst Du nicht, oder wenn schon, dann müssten es im define zwei sein ;;

Also, wenn Du nur den Ausführungsteil in der Kommandozeile testest würde der funktionieren, wenn ich nicht was übersehen habe.

Gruß Otto

Tut mir leid, das verstehe ich nicht.

Wie muss der Code denn richtig aussehen?

Ich habe es jetzt so probiert, aber das geht auch nicht:
####
define nAUSoder notify AUS
{
if (Value("Gartenbeleuchtung") eq "on" || Value("Wohnzimmer") eq "on" || Value("Warmwasserpumpe") eq "on" || Value("RaspiWohnZi") eq "on" || Value("Leselampe") eq "on");
}
}
###


Vielleicht noch mal zu meinem Wunsch:
Der Dummy "AUS" soll den Zustand "on" einnehmen, wenn "Gartenbeleuchtung" ODER "Wohnzimmer" ODER "Warmwasserpumpe" ODER "RaspiWohnZi" ODER "Leselampe" "on" sind.





Beta-User

ZitatDer Dummy "AUS" soll den Zustand "on" einnehmen, wenn "Gartenbeleuchtung" ODER "Wohnzimmer" ODER "Warmwasserpumpe" ODER "RaspiWohnZi" ODER "Leselampe" "on" sind.
Sowas ist m.E. besser mit dem Modul "structure" zu lösen. Beispiel in der commandref zum passenden Attribut: clientstate_priority Any_On|An All_Off|Aus
Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Otto123

#4
Hallo Jogi,

ich denke Du hast notify nicht verstanden. Ein notify wird getriggert wenn ein bestimmter Event eintrifft. -> https://fhem.de/commandref_DE.html#notify

Dein erstes define enthielt gar kein Suchmuster, der zweite Versuch enthält deinen Dummy als Suchmuster, den Du dann im Ausführungsteil setzt. Das führt bestenfalls zum Wettlauf ...
Aber er enthält keinen Ausführungsteil mehr. :-X

Dein Ereignis soll sein wenn eines der Geräte auf on geht? Dann mach es so:define nAUSoder notify (Gartenbeleuchtung|Wohnzimmer|Warmwasserpumpe|RaspiWohnZi|Leselampe):on set AUS on

Aber ich glaube nicht, dass es so sein soll. Du sagst Du willst die Geräte im Zustand abfragen, ein notify braucht aber ein Ereignis damit es loslegt.

Vielleicht nimmst Du lieber ein DOIF? Oder die Structure wie vorgeschlagen, hängt davon ab was mit dem dummy eiegntlich geschehen soll.

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

Jogi

Zitat von: Otto123 am 01 Juli 2017, 15:28:09
Hallo Jogi,

ich denke Du hast notify nicht verstanden. Ein notify wird getriggert wenn ein bestimmter Event eintrifft. -> https://fhem.de/commandref_DE.html#notify

Dein erstes define enthielt gar kein Suchmuster, der zweite Versuch enthält deinen Dummy als Suchmuster, den Du dann im Ausführungsteil setzt. Das führt bestenfalls zum Wettlauf ...
Aber er enthält keinen Ausführungsteil mehr. :-X

Dein Ereignis soll sein wenn eines der Geräte auf on geht? Dann mach es so:define nAUSoder notify (Gartenbeleuchtung|Wohnzimmer|Warmwasserpumpe|RaspiWohnZi|Leselampe):on set AUS on

Aber ich glaube nicht, dass es so sein soll. Du sagst Du willst die Geräte im Zustand abfragen, ein notify braucht aber ein Ereignis damit es loslegt.

Vielleicht nimmst Du lieber ein DOIF? Oder die Structure wie vorgeschlagen, hängt davon ab was mit dem dummy eiegntlich geschehen soll.

Gruß Otto
Vielen Dank,
ich denke grundsätzlich habe ich verstanden, was ein notify ist, aber die restliche Struktur in Kombination mit der "OderBedingung" habe ich nicht verstanden.
Aber dank Deines Beispiels ist es mir jetzt klar.

Vielen Dank!

KernSani

Zitat von: Jogi am 01 Juli 2017, 16:56:44
Aber dank Deines Beispiels ist es mir jetzt klar.
Heisst das, das Thema ist gelöst? Dann bitte das Subject des ersten Posts anpassen und [Gelöst] davor schreiben.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...