Hallo,
ich kämpfe mich gerade durch die Anfänger PDF. Endlich mal. Klappt auch bisher alles, aber jetzt komme ich gerade nicht weiter.
In meinem Bad hab ich zwei Bewegungsmelder, weil es etwas verwinkelt ist:
praesenz_hauptbad_wc
praesenz_hauptbad_dusche
Ich möchte nun erreichen, dass wenn ich ins Bad gehe, automatisch das Licht von einer bestimmten Lampe angeht. Das ist mal der erste Schritt. Später möchte ich das noch in Abhängigkeit von Dämmerung bringen. Aber soweit bin ich noch nicht.
Also erst mal Lampe an, wenn Bewegungsmelder reagiert.
Im ersten Step hab ich das ganze erst mal mit nur einem Bewegungsmelder gemacht:
define wanne_bewegung notify praesenz_hauptbad_wc set lampe_wanne $EVENT
Das klappt auch wunderbar. Licht geht an und auch wieder aus. Mein Bewegungsmelder sendet halt nach einer gewissen Nachlaufzeit ein "OFF".
Nun möchte ich aber das dieses Licht auf beide Bewegungsmelder reagiert. Also hatte ich folgendes ausprobiert, weil ich es nicht besser wusste:
define wanne_bewegung notify praesenz_hauptbad_wc,praesenz_hauptbad_dusche set lampe_wanne $EVENT
Ich habe also beide Sensoren durch ein Komma getrennt eingebracht. Leider scheint das nicht zu funktionieren. Es passiert nichts. Lampe bleibt aus.
Bin ich da auf dem Holzweg. Kann man nicht 2 Sensoren einbringen ?
Alternativ hätte ich jetzt versucht mit structure eine Gruppe zu bilden und dann das ganze mit notify zu machen ? Besser ? Ich hätte also erst beide Bewegungsmelder in eine Gruppe gebracht und diese Gruppe dann angesprochen.
Würde mich über kurze Hilfe freuen.
Ansonsten bin ich einfach nur über die Möglichkeiten schwer begeistert.
Grüße,
Visionsurfer
define (wanne_bewegung notify praesenz_hauptbad_wc|praesenz_hauptbad_dusche set lampe_wanne).* $EVENT
Ich würde aber Structure nehmen.
Hi,
Danke für die schnelle Antwort.
Ja hab ich genommen, weil ich ausprobieren wollte, ob es so funktioniert. Es geht grundsätzlich. Nur noch einen kleinen Schönheitsfehler gibt es (keine Ahnung ob der wirklich so klein ist).
Es schaltet jetzt die Lampe. ABER...er wartet nun bis beide Bewegungsmelder AN sind. Es müssen also beide Bewegungsmelder eine Bewegung registrieren und erst dann schaltet die Lampe.
Ich würde ja gerne erreichen, dass egal welcher der beiden Bewegungsmelder die Bewegung registriert, die Lampe geschaltet wird.
Aus gehen soll die Lampe natürlich erst dann wenn auch wirklich beide Bewegungsmelder keine Bewegung mehr registrieren.
Ich hoffe ihr versteht was ich meine. Doch gar nicht so simple, oder ?
Grüße,
Visionsurfer
http://fhem.de/commandref_DE.html#structure
Attribut clientstate_behavior
und
Attribut clientstate_priority
bitte anschauen.
Hi,
ok. Geil. Wenn ich es richtig verstanden habe, muss ich das hier anwenden:
attr haus clientstate_priority Any_On|An All_Off|Aus
Wenn ein Sensor angeht, wird die Gruppe automatisch auf ALL AN geschaltet und meine Lampe müsste angehen.
Dagegen müssen erst wirklich beide Sensoren ausgehen, um meine Lampe auch wieder auszuschalten. Merkt Sensor1 noch Bewegung und Sensor2 ist schon aus, bleibt die Lampe trotzdem an.
Liege ich so richtig ? Wollte erst mal fragen, bevor ich es einbaue.
Grüße,
Visionsurfer
Ich habe es jetzt mal schnell eingebaut.
Also nur den attr: clientstate_priority
Dort hab ich folgendes eingetragen:
Any_On|An All_Off|Aus
Die Ausschaltung funktioniert meiner Meinung perfekt. Das heißt er wartet bis auch wirklich beide Bewegungsmelder aus sind und erst dann wird die Lampe ausgeschaltet.
Aber AN funktioniert leider noch nicht wie gewünscht. Erst wenn beide Bewegungsmelder AN sind, wird die Lampe eingeschaltet. Hmmm, hab ich was falsch gemacht ?
Grüße,
Visionsurfer
Mach mal bitte ein list von Deiner Strukturen wenn einer gemeldet hat.
Hi,
ach du schreck. Wie geht sowas ?
Hi,
hier mal ein paar Screenshots. Hilfe das ?
Grüße,
Visionsurfer
mach mal bitte
Attribut clientstate_behavior
rein und lösche erstmal
Attribut clientstate_priority
ich weiß,jetzt kommt schon wieder einer mit DOIF,aber warum nicht etwa so:
define wanne_bewegung DOIF ([praesenz_hauptbad_wc] eq "AN" or [praesenz_hauptbad_dusche] eq "AN")(set lampe_wanne $EVENT)
DOELSEIF ([praesenz_hauptbad_wc] eq "AUS" and [praesenz_hauptbad_dusche] eq "AUS")(set lampe_wanne $EVENT)
Hi,
@CoolTux:
Wie soll der Befehl bei clientstate_behavior genau aussehen ? Da muss doch dann noch was dahinter, oder ?
Grüße,
Visionsurfer
Ja, relativ muß dahinter.
Ok, probiere ich mich morgen aus. Also den vorhandenen Eintrag löschen und durch deinen Vorschlag ersetzen. Mach ich.
Könntest du mir kurz erklären, was dieser Eintrag dann bewirkt?
Geht irgendwie aus der Wiki nicht hervor.
Wenn Du clientstate_behavior arbeitest, stellst Du unter clientstate_priority ein wie was schalten soll. Also was hat vorrang vor was und wie stellt sich die struktur darauf ein
In Deinem Fall musst Du
clientstate_behavior relative
clientstate_priority on off
Grüße
Kurze Zwischenfrage:
Sind das HM-Devices?
Wenn ja: Wäre es nicht einfacher, beide Bewegungsmelder mit dem Aktor direkt zu pairen?
Hätte den Vorteil, dass es auch ohne FHEM-Verfügbarkeit funktioniert...
Gruß, Beta-User
Moin Jung,
Nein, es sind KNX gira Bewegungsmelder.
Ich frühstücke mal was und dann probiere ich die Änderungen.
Hoffe es klappt dann. Kennt ihr bestimmt, wenn was nicht geht, kann man die halbe Nacht nicht schlafen :)
Also erst mal Kaffee.
Grüße
Visionsurfer
Moin,
also hab ich probiert und so scheint es zu funktionieren:
clientstate_behavior relative
clientstate_priority on off
Nur das ich zumindest ein bisschen was lernen kann und es verstehe, warum geht das so nicht ?
clientstate_priority Any_On|An All_Off|Aus
Danke an @CoolTux für deine Hilfe.
Jetzt werde ich mein nächstes Projekt angehen und meine Jalousien richtig fahren lassen. Oh je.
Grüße,
Visionsurfer
Weil Du kein An Aus hast, sondern ein on off ;D
Oh je.
Echt ? Es liegt also nur an der Schreibweise ? Mist. Stimmt. Da hätte man drauf kommen müssen.
Danke für die Info.
Ist es eigentlich schwer, sowas nun noch an weitere "Bedingungen" zu knüpfen ?
Ich möchte später erreichen das die Lampe nur geschaltet wird, wenn Rollo_bad geschlossen ist ODER lux Wert von meiner Wetterstation unter XY liegt.
Ist sowas schwer ?
Grüße,
Visionsurfer
Nein ist es eigentlich nicht. Du kannst es auf relativ einfache Weise mit einem DOIF machen. Wenn dann aber noch mehr dazu kommt würde ich das in ein Notify mit separater 99_myUtils machen. So mache ich das. Aber erstmal klein anfangen am besten. Also DOIF anschauen und lesen.
Grüße
Hi.
Super. Danke für die Infos. Dann weiß ich wo ich hinschauen muss und werde mal probieren. Jalousien habe ich hinbekommen. Dann schau ich mir das mal an, um da gewisse Abhängigkeit reinzubringen.
Grüße,
Visionsurfer