FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Jogi am 01 Juli 2017, 13:59:52

Titel: Gelöst!: Ich bekomme die Oder-Verknüpfung nicht hin
Beitrag von: Jogi am 01 Juli 2017, 13:59:52
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!
Titel: Antw:Ich bekomme die Oder-Verknüpfung nicht hin
Beitrag 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 ; 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
Titel: Antw:Ich bekomme die Oder-Verknüpfung nicht hin
Beitrag von: Jogi am 01 Juli 2017, 14:24:16
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.




Titel: Antw:Ich bekomme die Oder-Verknüpfung nicht hin
Beitrag von: Beta-User am 01 Juli 2017, 14:47:39
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
Titel: Antw:Ich bekomme die Oder-Verknüpfung nicht hin
Beitrag 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
Titel: Antw:Ich bekomme die Oder-Verknüpfung nicht hin
Beitrag von: Jogi am 01 Juli 2017, 16:56:44
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!
Titel: Antw:Ich bekomme die Oder-Verknüpfung nicht hin
Beitrag von: KernSani am 01 Juli 2017, 17:31:22
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.