Hallo,
ich habe MAX!-Fensterkontakte installiert und würde nun gern eine Lampe einschalten, sobald ein Fenster geöffnet wird.
Ich dachte da einfach an so etwas:
define ml MAXLAN 192.168.3.23 60 ondemand
...
define doTESTmax notify MAX_006593 set Lampe on
Jetzt wird allerdings die Lampe irgendwie immer wieder eingeschaltet, egal, ob sich der Zustand des Fensters geändert hat oder nicht.
Im Log habe ich keine Events zu den Kontakten gefunden.
Hat jemand einen Tipp?
Danke
müsste imho so heißen:
define doTESTmax notify MAX_006593:opened set Lampe on
define doTESTmax notify MAX_006593:closed set Lampe off
oder besser, bittels IF in einem notify abarbeiten
Das scheint zu funktionieren.
Super, danke.
Mir ist aufgefallen, dass MAX ggf. mehrfach den Status reportet. Dann würde natürlich immer wieder der on-Befehl gesendet, obwohl es nicht notwendig wäre. Idee?
Danke
Hallo,
define doTESTmax notify MAX_006593:opened{
fhem("set Lampe on") if (value("Lampe") ne "on);
}
Das selbe mit off und die geschwätzigen Fensterkontakte können plaudern wie sie wollen da der Schaltbefehl nur einmal ausgeführt werden
sollte.
Grüße
vorher per ReadingsVal den Status von Lampe abfragen und nur dann setzen wenn abweichend
define doTESTmax notify MAX_006593:opened {\
if (Value("Aktiviert") eq "on" && !(Value("Lampe") eq "on")) {\
fhem "set Lampeon";;\
}\
}
scheint ganz gut zu funktionieren.
Hallo,
ReadingsVal geht auch ist aber etwas länger als Value ;-)
Um Schaltaktionen zu prüfen benutze ich nur Value - lässt sich schön in den Code integrieren (Ok, ReadingsVal auch).
Für Abfragen bzgl. Temperatur oder Luftfeuchte oder kurz, alles was kein on oder off liefert, benutze ich ReadingsVal.
Grüße
Hallo
Zitat von: stobor schrieb am Mo, 14 Januar 2013 13:23define doTESTmax notify MAX_006593:opened {\
if (Value("Aktiviert") eq "on" && !(Value("Lampe") eq "on")) {\
fhem "set Lampeon";;\
}\
}
scheint ganz gut zu funktionieren.
Das funktioniert?
Bei fhem "set Lampeon" fehlt ein Leerzeichen zwischen Lampe und on ;-)
du kannst diese Abfrage aber auch in meinen Schnipsel einbauen
define doTESTmax notify MAX_006593:opened{
fhem("set Lampe on") if ((Value("Lampe") ne "on) && (Value("Aktiviert") eq "on"));
}
Aber mit 3 (4) Möglichkeiten innerhalb von 5 Minuten wirst du sicher eine finden die dir gefällt ;-)
Grüße
Ups. sorry. Das Leerzeichen hate ih schon bemerkt.
Aber vielen Dank für die tolle Unterstützung.
Servus,
ich stehe gerade vor einem ähnlichen Problem, ich überwache bei mir einen MAX Fensterkontakt (an Tür angebaut) um dann wenn diese geöffnet wird meinen Souroundverstärker auf Mute zu stellen
Soweit funktioniert das schon mal
define TuerAufWarnung notify Heizung.Wohnzimmer.Tuerkontakt:opened set Schlafzimmer.Harmony command Yamaha-AV-Receiver Mute
Für den Fall der Fälle wäre das ja auch OK, aber nicht wenn ich nen Film gucke und mein Weibchen auf den Balkon rennt ^^
Das Problem dabei ist das ich vom Yamaha keinen Status abfragen kann, somit geht das hier dann ja nicht
define TuerAufWarnung notify Heizung.Wohnzimmer.Tuerkontakt:opened{
fhem("set Schlafzimmer.Harmony command Yamaha-AV-Receiver Mute") if (Value("WAS HIER REIN") ne "on");
}
Zitat von: Afterburner am 09 Dezember 2015, 10:35:19
Servus,
ich stehe gerade vor einem ähnlichen Problem, ich überwache bei mir einen MAX Fensterkontakt (an Tür angebaut) um dann wenn diese geöffnet wird meinen Souroundverstärker auf Mute zu stellen
Soweit funktioniert das schon mal
define TuerAufWarnung notify Heizung.Wohnzimmer.Tuerkontakt:opened set Schlafzimmer.Harmony command Yamaha-AV-Receiver Mute
Für den Fall der Fälle wäre das ja auch OK, aber nicht wenn ich nen Film gucke und mein Weibchen auf den Balkon rennt ^^
Das Problem dabei ist das ich vom Yamaha keinen Status abfragen kann, somit geht das hier dann ja nicht
define TuerAufWarnung notify Heizung.Wohnzimmer.Tuerkontakt:opened{
fhem("set Schlafzimmer.Harmony command Yamaha-AV-Receiver Mute") if (Value("WAS HIER REIN") ne "on");
}
Was willst du denn genau machen?
Verstärker aus wenn Tür offen, aber nicht bei Film? Sprich nur bei Musik?
Wie gibst du denn Musik und Film wieder?
(zb Xbmc/Kodi lässt sich umfangreich in FHEM einbinden und abfragen)
Wenn du "nur" den Status vom Yamaha benötigst, könnte man es mit einem Dummy versuchen.
Immer wenn du den Verstärker über Fhem aus/an schaltest, machst du das gleiche mit dem Dummy.
Solange du den Verstärker nicht per Hand bedienst, hättest du damit seinen Status.
(Und wenn du ihn per Hand bedienen willst dann kleb dir nen Funktaster hin und leite es wieder übers FHEM)
Grüße,
Kharim