Seite 2 von 4

Re: Bewegungsmelder oder dauer an

Verfasst: 6. Jul 2020 00:39
von udo1toni
Nein, das ist ja der Witz dran. Du musst das nur einmal anlegen. Die räumliche Entfernung spielt keine Rolle.

Re: Bewegungsmelder oder dauer an

Verfasst: 6. Jul 2020 00:43
von SIDE22
Und woher weiß die rule den das es dunkel ist nur mal so als Frage?

Re: Bewegungsmelder oder dauer an

Verfasst: 6. Jul 2020 01:48
von SIDE22
so habe die rule nun mal grade grob getestet auch wenn ich noch nicht alle lampen habe
aber
ich bin begeistert ^^ :D


lg
florian

Re: Bewegungsmelder oder dauer an

Verfasst: 6. Jul 2020 02:36
von SIDE22
so nachdem ich mal etwas geschaut habe fällt mir auf

wenn ich die schalte betätige steht das licht zwar an aber nicht auf 100%
wenn man beim schalten die item beobachtet kann man sehen das diese erst 100 anzeigen und dann kurz später den tatsächlichen wert
wenn man also schaltet gehen lampen nur auf 1% statt den 100%

zumal bekomme ich 2 problem meldungen von VSCode
Unbenannt.PNG
die zeile 155 ist

Code: Alles auswählen

        } else if(dunkel.state == ON) {                                     // falls nicht Treppe und dunkel

und die zeile 179 ist

Code: Alles auswählen

    Licht.sendCommand(triggeringItem.state)

ich vermute zu dem "dunkel" muss ich noch was anlegen das dunkel ON oder OFF ist das könnte man mit astro machen denke ich

Re: Bewegungsmelder oder dauer an

Verfasst: 6. Jul 2020 11:22
von udo1toni
Genau. Das hatte ich in meinem ursprünglichen Post noch hinzugefügt. Das Item, welches die Dunkelheit meldet heißt in meinem Code Dunkel und ist ein Switch. Du könntest stattdessen auch direkt ein Item verwenden, welches eine Helligkeit als Lux-Wert liefert (dann muss der Wert halt z.B. unter 50 sinken)
Gewöhnlich sollte ein Dimmer auf den Befehl ON mit der Helligkeit 100 reagieren, wenn das bei Dir nicht der Fall ist, müssen wir die betreffende Zeile

Code: Alles auswählen

Licht.sendCommand(triggeringItem.state)
durch diese Zeilen ersetzen:

Code: Alles auswählen

Licht.sendCommand(if(triggeringItem.state == ON) 100 else 0 )
Wenn also der Schalter auf ON wechselt, wird 100 gesendet, bei allen anderen Status (das wäre dann OFF...) wird 0 gesendet.

Re: Bewegungsmelder oder dauer an

Verfasst: 6. Jul 2020 11:35
von SIDE22
ok gut das würde ja passen benutze den Homematic (HM-Sec-MDIR-2) bewegungsmelder dieser gibt ja auch eine helligkeit raus

dann müsste ich die zeile

Code: Alles auswählen

} else if(dunkel.state == ON) {
durch

Code: Alles auswählen

} else if(Treppe_helligkeit.state < 45) {
ersetzen oder ?
hoffe das ich das richtig geschrieben habe ^^
habe schon lange gebraucht um deine rule zu verstehen :D

und da bin ich wieder begeistert was man alles mit so ner rule machen kann


lg
Florian

Re: Bewegungsmelder oder dauer an

Verfasst: 6. Jul 2020 13:06
von udo1toni
SIDE22 hat geschrieben: 6. Jul 2020 11:35 ok gut das würde ja passen benutze den Homematic (HM-Sec-MDIR-2) bewegungsmelder dieser gibt ja auch eine helligkeit raus

dann müsste ich die zeile

Code: Alles auswählen

} else if(dunkel.state == ON) {
durch

Code: Alles auswählen

} else if(Treppe_helligkeit.state < 45) {
ersetzen oder ?
Ja, das sieht gut aus.

Re: Bewegungsmelder oder dauer an

Verfasst: 6. Jul 2020 13:53
von SIDE22
ok :)

so eine frage aber noch ^^

bei dieser rule

Code: Alles auswählen

rule "Dauerbetrieb"
when
    Member of gSwitches changed
then
    val licht = triggeringItem.name.split("_").get(0)
    val Licht = gLichter.members.filter[i|i.name.contains(licht)].head
    if(licht == "Flur") tFlur?.cancel
    if(licht == "Treppe") tTreppe?.cancel
    Licht.sendCommand(if(triggeringItem.state == ON) 100 else 0 )
    if((now.getHourOfDay < 23 || now.getHourOfDay > 17) && triggeringItem.state == OFF && licht == "Flur") 
        Flur_LichtNacht.sendCommand(1)
end
kann man dort ein weiteres mal

Code: Alles auswählen

if((now.getHourOfDay < 23 || now.getHourOfDay > 17) && triggeringItem.state == OFF && licht == "Flur") 
Flur_LichtNacht.sendCommand(1)
hinzufügen ?
nur halt mit einem anderen Item und statt Flur Treppe ?

Re: Bewegungsmelder oder dauer an

Verfasst: 6. Jul 2020 13:57
von SIDE22
also quasi

Code: Alles auswählen

if((now.getHourOfDay < 1 || now.getHourOfDay > 14) && triggeringItem.state == OFF && licht == "Treppe") 
Treppe_Licht3.sendCommand(1)
würde das so gehen oder müsste man es anders schreiben ?

Re: Bewegungsmelder oder dauer an

Verfasst: 6. Jul 2020 15:26
von udo1toni
Nein, das würde so gehen.

Schade, dass Du unterschiedliche Grenzzeiten haben willst, sonst ginge es natürlich auch eleganter. :)