Hallo habe in einem anderen Thread gerade das hier gelesen
#Homestatus
define HomeRichySylvi DOIF ([HomeRichy] eq "Da" or [HomeSylvi] eq "Da")
(set HomeStatus Zuhause)
DOELSEIF ([HomeRichy] eq "Weg" and [HomeSylvi] eq "Weg")
(set HomeStatus Weg)
attr HomeRichySylvi do always
#Watchdog Anwesenheit
define Abwesend_Richy watchdog (Richy_Handy:Weg) 00:03:00 (Richy_Handy:Da) {fhem ("set HomeRichy Weg")};; setstate Anwesend_Richy defined
attr Abwesend_Richy regexp1WontReactivate 1
define Anwesend_Richy watchdog (Richy_Handy:Da) 00:01:00 (Richy_Handy:Weg) {fhem ("set HomeRichy Da")};; setstate Abwesend_Richy defined
attr Anwesend_Richy regexp1WontReactivate 1
define Abwesend_Sylvi watchdog (Sylvi_Handy:Weg) 00:03:00 (Sylvi_Handy:Da) {fhem ("set HomeSylvi Weg")};; setstate Anwesend_Sylvi defined
attr Abwesend_Sylvi regexp1WontReactivate 1
define Anwesend_Sylvi watchdog (Sylvi_Handy:Da) 00:01:00 (Sylvi_Handy:Weg) {fhem ("set HomeSylvi Da")};; setstate Abwesend_Sylvi defined
attr Anwesend_Sylvi regexp1WontReactivate 1
#Rollo Schlafzimmer
define RolloAnwesenheitsSteuerung_Auto DOIF ([Tageslicht] eq "hell" and [?og_sz_rollo] eq "down" and [?10:00-23:59|8] and [HomeStatus] eq "Zuhause")
(set og_sz_rollo 100)
DOELSEIF ([Tageslicht] eq "hell" and [?og_sz_rollo] eq "down" and [?11:00-23:59|7] and [HomeStatus] eq "Zuhause")
(set og_sz_rollo 100)
DOELSEIF ([09:45:00|7])
(set og_sz_rollo 30)
DOELSEIF ([10:15:00|7])
(set og_sz_rollo 100)
DOELSEIF ([HomeStatus] =~ "Weg|Urlaub" or [Tageslicht] eq "dunkel")
(set og_sz_rollo 0)
attr RolloAnwesenheitsSteuerung_Auto do always
und hoffe ihr könnt mir helfen das auf meine Config umzustellen.
Und zwar habe ich
define Rolladen_Fenster_autooff at *{sunset(-1800,"16:00","22:30")} set Rolladen_Fenster off
Anwesenheitskontrolle mittels Gtags
das funktioniert auch. Nur leider gehen die Rolladen wieder auf wenn Anwesenheit von "absent" auf "present" wechselt.
Bin leider nicht so bewandert und nicht in der Lage gewesen alleine den Code von Wondermusic für meine Bedürfnisse umzustellen.
Mag mir da jmd bei helfen?
Also ich möchte gerne Rolladen Fenster wenn sunset die geschlossen hat, das Anwesenheit keine Auswirkung auf den Zustand hat.
Niemand ne Idee?
Es erschließt sich aus deinem Post nicht ganz was das Ziel ist (ohne das komplette rein kopierte Fremd-Coding durchzugehen).
Poste doch mal die relvanten Teile deiner Lösung und beschreibe was deiner Meinung nach schief läuft (irgendwie scheinst du ja ein Probleme mit PRESENCE zu haben, bzw. den dadurch erzeugten Events).
Grüße,
Oli
mein Ziel ist es das die Rollläden, wenn sunset die Rollläden geschlossen hat, die nicht mehr durch den Status present hochgefahren werden.
bisher ist es so
define Rolladen_Fenster_autooff at *{sunset(-1800,"16:00","22:30")} set Rolladen_Fenster off
Rollläden werden geschlossen. Wenn ich jetzt aber danach heim komme werden die wieder geöffnet, das ja presence sagt ich bin zuhause.
wie ist das denn mit diesem Code?
*{sunset(-1800,"16:00","22:30")} (set Rolladen_Fenster off) doelse ([Homestatus] eq "home") (set Rolladen_Fenster off)
geht das?
Du zeigst uns nur die at-Definition zum Runterfahren des Rollläden, möchtest aber dass sie bei bestimmter Bedingung nicht hochfahren. Dann muss du doch die Stelle zum Hochfahren anpassen und nicht die zum Runterfahren.
die zum hochfahren ist in Lightscene Homestatus hinterlegt. mit set Rolladen_Fenster on.
also immer wenn ich Homestatus home habe fahren die Rolladen hoch.
Zitat von: rizo am 12 Februar 2017, 18:12:39
die zum hochfahren ist in Lightscene Homestatus hinterlegt. mit set Rolladen_Fenster on.
also immer wenn ich Homestatus home habe fahren die Rolladen hoch.
Und welches Modul setzt set Rolladen_Fenster on ab? Wenn Lightscene diesen Befehl absetzt, dann müsstest dort die Bedingung angeben. Ich benutze das Modul nicht, daher kenne ich dessen Features nicht.
hat am Ansatz was hier mit dem Problem zu tun:
Ich habe ja Lightscene für Homestatus realisieren genommen. Wie macht ihr das? Macht ihr das alles über notify oder anders? Weil ich überlege das dahin zu ändern und wollte mal kurz Meinungen/Erfahrungen dazu. Danke
Wie muss denn die Bedingung aussehen damit die Rollläden nicht mehr nach sunset hochgefahren werden?
*{sunset(-1800,"16:00","22:30")} (set Rolladen_Fenster off) DOELSE ([Homestatus] eq "home")
So habe jetzt ne Nacht drüber geschlafen und komme trotzdem kein Stück weiter.
Ich weiß einfach nicht wie und wo ich was ändern muss, damit der Rolladen nicht mehr hochfährt wenn homestatus home wird und sunset ihn geschlossen hat.
*{sunset(-1800,"16:00","22:30")} (set Rolladen_Fenster off) DOELSE ([Homestatus] eq "home") tu nichts.
das Doelse bringt denk ich mal nix, und da wo tu nichts steht weiß ich halt auch nicht was da hin könnte.
Zitat von: rizo am 12 Februar 2017, 18:12:39
die zum hochfahren ist in Lightscene Homestatus hinterlegt
Pack doch die Befehle für ein Device auch in ein
DOIF. So ist es viel übersichtlicher als andersrum. Und es kann sich auch keiner in die Quere kommen.
Klar mach ich gerne.
define Rolladensteuerung_DOIF DOIF *{sunset(-1800,"16:00","22:30")} (set Rolladen_Fenster off)
und wie gehts weiter? stehe wie gesagt voll auf dem Schlauch.
(*{sunset(-1800,"16:00","22:30")} (set Rolladen_Fenster off) DOELSEIF ([Homestatus] eq "home" and (*{sunset(-1800,"16:00","22:30"))} (set Rolladen_Fenster off) ))
so ist mein Code jetzt. was meint ihr dazu?
So ich spiele immernoch mit dem Code, habe devices reingepackt die sofort schalten können und ne feste Uhrzeit.
([16:35]) (set Ecken_Leds on) DOELSEIF ([16:35] and [Homestatus] eq "home") (set Ecken_Leds off)
leider hilft mir der Code bisher nicht. Da er ja fest die Ecken_Leds einschaltet und das DOELSEIF gar nicht stattfindet.
Zitat von: rizo am 13 Februar 2017, 16:41:22und das DOELSEIF gar nicht stattfindet.
Dann tausch doch die Reihenfolge.
Gut gemacht. Test läuft dann morgen ob das klappt. Bis hier erneut danke an alle
So ich nochmal.
(*{sunset(-1800,"16:00","22:30" and [Homestatus] eq "home") }) (set Rolladen_Fenster off) DOELSEIF (*{sunset(-1800,"16:00","22:30") } (set Rolladen_Fenster off))
bei dem Code sagt Fhem
2017.02.13 18:48:05 1: PERL WARNING: Useless use of a constant (-1800) in void context at (eval 103406) line 1.
2017.02.13 18:48:05 1: PERL WARNING: Useless use of a constant ("16:00") in void context at (eval 103406) line 1
und ich find den Fehler nicht. Jemand der mal kurz drüber schauen kann?
Zitat von: rizo am 13 Februar 2017, 18:52:17
So ich nochmal.
(*{sunset(-1800,"16:00","22:30" and [Homestatus] eq "home") }) (set Rolladen_Fenster off) DOELSEIF (*{sunset(-1800,"16:00","22:30") } (set Rolladen_Fenster off))
bei dem Code sagt Fhem
2017.02.13 18:48:05 1: PERL WARNING: Useless use of a constant (-1800) in void context at (eval 103406) line 1.
2017.02.13 18:48:05 1: PERL WARNING: Useless use of a constant ("16:00") in void context at (eval 103406) line 1
und ich find den Fehler nicht. Jemand der mal kurz drüber schauen kann?
([{sunset(-1800,"16:00","22:30"}] and [Homestatus] eq "home")
Zeitfunktionen werden beim DOIF in eckigen klammern angegeben, Stern gehört zur Syntax beim at und wird bei DOIF nicht benötigt, ansonsten hier nochmal genau lesen: https://fhem.de/commandref_DE.html#DOIF_Zeitsteuerung
Zitat von: Damian am 13 Februar 2017, 19:21:03
([{sunset(-1800,"16:00","22:30"}] and [Homestatus] eq "home")
Zeitfunktionen werden beim DOIF in eckigen klammern angegeben, Stern gehört zur Syntax beim at und wird bei DOIF nicht benötigt, ansonsten hier nochmal genau lesen: https://fhem.de/commandref_DE.html#DOIF_Zeitsteuerung
wenn ich dein Beispiel übernehme kommt
the function "sunset(-1800,"16:00","22:30"" must return a timespec and not syntax error at (eval 127414) line 1, at EOF
.: {sunset(-1800,"16:00","22:30"}
Zitat von: rizo am 13 Februar 2017, 19:54:05
wenn ich dein Beispiel übernehme kommt
the function "sunset(-1800,"16:00","22:30"" must return a timespec and not syntax error at (eval 127414) line 1, at EOF
.: {sunset(-1800,"16:00","22:30"}
es fehlte noch die Klammer zu
[{sunset(-1800,"16:00","22:30")}]
([{sunset(-1800,"16:00","22:30")}] and [Homestatus] eq "home") (set Rolladen_Fenster off) DOELSEIF ([{sunset (-1800,"16:00","22:30")}] (set Rolladen_Fenster off) )
so passt der Code ohne Fehlermeldung.
Dann mal schauen was morgen passiert. Danke danke
Zitat von: rizo am 13 Februar 2017, 20:00:45
([{sunset(-1800,"16:00","22:30")}] and [Homestatus] eq "home") (set Rolladen_Fenster off) DOELSEIF ([{sunset (-1800,"16:00","22:30")}] (set Rolladen_Fenster off) )
so passt der Code ohne Fehlermeldung.
Dann mal schauen was morgen passiert. Danke danke
ja, allerdings macht die Definition mit zwei mal off keinen Sinn. Denn mit sunset wird getriggert und wenn Homestatus gleich "home" ist, dann set Rolladen_Fenster off ausgeführt, wenn Homestatus nicht gleich "home", dann wird der zweite Trigger im DOELSEIF ausgeführt und spätestens dann off ausgeführt. Man kann also sagen, es wird bei sunset immer set Rolladen_Fenster off ausgeführt.
hm...ja aber wie sag ich dem doif denn das er nicht auf den Homestatus reagieren soll, also die Rolläden auf jedenfall unten bleiben wenn ich heim komme?
Zitat von: rizo am 13 Februar 2017, 20:25:22
hm...ja aber wie sag ich dem doif denn das er nicht auf den Homestatus reagieren soll, also die Rolläden auf jedenfall unten bleiben wenn ich heim komme?
Erst mal musst du mir sagen, was set Rolladen_Fenster off bei dir ist. Bei mir ist es Rollladen runterfahren.
set Rolladen_Fenster off ist Rolladen Fenster runterfahren
Wenn du nur willst, dass die Rolläden herunterfahren, wenn dein Anwesenehitsstatus home ist, sollte das so gehen.
([{sunset(-1800,"16:00","22:30")}] and [Homestatus] eq "home") (set Rolladen_Fenster off)
ne ich möchte gerne das wenn sunset die rolladen geschlossen hat, das diese eben nicht mehr durch anwesenheitsstatus geschaltet werden
Zitat von: rizo am 14 Februar 2017, 13:12:55
ne ich möchte gerne das wenn sunset die rolladen geschlossen hat, das diese eben nicht mehr durch anwesenheitsstatus geschaltet werden
Durch welchen anwesenheitsstatus? Wie lautet das define dafür? Wenn es ein DOIF oder Notify ist kannst du es disablen.
Anwesenheitskontrolle:
define Gtag lan-bluetooth 7C:2F:80:C4:6A:50 127.0.0.1:5333 30 120
dann structure presence modul
define Anwesenheit structure presence Gtag
define Homestatuskontrolle structure room Homestatus
define Homestatuskontrolle_Doif DOIF ([Anwesenheit] eq "present") (set Homestatuskontrolle on,set Homestatus scene home) DOELSE (set Homestatuskontrolle off,set Homestatus scene away)
Homestatus ist mit Lightscene als scene home und away angelegt.