Hi offline,
ich würde gerne bei deinem Plugin Uhrzeiten definieren, zu denen die manuelle Sperre wieder aufgehoben wird. Meine Rollladensteuerung basiert immer noch auf der zuvor existierenden Logik, da ich hier ganz einfach zu bestimmten Zeiten alles zurücksetzen kann.
Wir haben Zeiten, zu denen meist ohnehin niemand im Haus ist. Außerdem setze ich einmal mitten in der Nacht die Sperren zurück. Für mich sind feste Uhrzeiten praktikabler als ein Zeitablauf, da ich bei letzterem den Überblick verlieren würde, wann welcher Rollladen wieder zurückgesetzt wird.
Kannst Du mir bitte sagen, ob - und wenn ja wie - wie ich das bei deinem Plugin umsetzen kann?
Viele Grüße
Arne
Ankündigung
Einklappen
Keine Ankündigung bisher.
Automatische Beschattung
Einklappen
X
-
Es sollte auch Ausreichen im AutoBlind-Bedingungsset die BedingungZitat von mumpf Beitrag anzeigencrontab funktioniert so, wie in der sh.py doku beschrieben, also auch mit sunrise bzw. sunset. Das ist natürlich nicht zyklisch. Um beides zu verbinden, mach doch einfach ein Item [Sonne], das über crontab = sunrise = 1 | sunset = 0 tagsüber true ist. Beim AutoBlind machst Du dann cycle = 300 (oder was auch immer). Und bei den Bedingungen für die Stati fragst Du as_value_Sonne = 1 ab.(oder einen höheren Wert) zu setzen. Dann braucht man kein separates Item.Code:as_min_sun_altitude = 0
Einen Kommentar schreiben:
-
Das Plugin selbst liest (in der aktuellsten Version) die Lock-Items nur, verändert sie aber nicht. Wenn sich der Wert deiner Lock-Items beim Starten ändert, dürfte die Ursache dafür irgendwo anders in der Konfiguration zu suchen sein. Starte doch smarthome.py mal mit Loglevel = debug und schau dann im Log wo/wer/was das Lock-Item verändert.Zitat von toggle Beitrag anzeigenZu 2.: Vor einem Neustart von sh.py waren alle Lock-Items nicht gesetzt (false). Aber nach einem Neustart von sh.py waren manche Locks plötzlich gesetzt (true). Die eigentliche Ursache dafür konnte ich nicht ermitteln, aber seit einem Bus-Reset ist alles in Ordnung.
Eine solche Funktionalität müsste in die crontab-Funktion von smarthome.py eingebaut werden. Das Plugin reagiert ja nur auf Trigger von smarthome.py. Wenn du allerdings die Anzahl der Prüfungen reduzieren willst, kannst du ähnlich wie onkelandy in #241 ein neues Item mit AutoBlind-Plugin definieren, das die Basisprüfungen (z. B. Sonnenstand, Uhrzeit, o. ä.) vornimmt. Mit diesem Item triggerst du dann bei Bedarf die anderen AutoBlind-Items.Zitat von toggle Beitrag anzeigenZu 3.: Ich wollte bloß sinnlose Auswertungen vermeiden, während die Sonne ehe nicht zu sehen ist. Es werden ja alle Conditions für alle beteiligten Fenster geprüft - das muss nicht sein.
Nachtrag: Willst du wirklich nach Sonnenuntergang keine Jalousien fahren? Ich fahre hauptsächlich über die Helligkeit und damit Abends auch runter ... meistens erst einige Zeit nach tatsächlichem Sonnenuntergang ...
Grüße
offlineZuletzt geändert von offline; 16.08.2015, 07:03.
Einen Kommentar schreiben:
-
Zu 2.: Vor einem Neustart von sh.py waren alle Lock-Items nicht gesetzt (false). Aber nach einem Neustart von sh.py waren manche Locks plötzlich gesetzt (true). Die eigentliche Ursache dafür konnte ich nicht ermitteln, aber seit einem Bus-Reset ist alles in Ordnung.
Zu 3.: Ich wollte bloß sinnlose Auswertungen vermeiden, während die Sonne ehe nicht zu sehen ist. Es werden ja alle Conditions für alle beteiligten Fenster geprüft - das muss nicht sein.
Gruß
toggle
Einen Kommentar schreiben:
-
Hi,
zu 3.: ich weiß nicht genau, was Du möchtest... crontab funktioniert so, wie in der sh.py doku beschrieben, also auch mit sunrise bzw. sunset. Das ist natürlich nicht zyklisch. Um beides zu verbinden, mach doch einfach ein Item [Sonne], das über crontab = sunrise = 1 | sunset = 0 tagsüber true ist. Beim AutoBlind machst Du dann cycle = 300 (oder was auch immer). Und bei den Bedingungen für die Stati fragst Du as_value_Sonne = 1 ab.
Gruß, Waldemar
P.S.: könntest Du bei 2 am Beispiel zeigen, was Du meinst? Hab es nicht kapiert...Zuletzt geändert von mumpf; 10.08.2015, 20:07.
Einen Kommentar schreiben:
-
Update:
Erst als ich Items mit knx_listen für die move und stop GAs angelegt und referenziert hatte, hat die Suspend-Funktion angefangen auf die manuelle Steuerung zu reagieren. Das erscheint mir auch plausibel. Denn von einem Item nur mit knx_send würde ich keinen Trigger durch Schreiben einer GA von externen Teilnehmern erwarten. knx_send steht aber so überall in der Doku als Beispiel.Was fehlt dem Suspend?
Gruß
toggle
Einen Kommentar schreiben:
-
Hallo zusammen,
ich habe das Plugin auch in Betrieb genommen und habe ein paar Probleme:
1. "as_suspend_watch" will irgendwie nicht auf manuelle Steuerung reagieren, die über die angegebenen Gruppenadressen läuft ("move" und "stop"). Meine Konfigurationen sind wie folgt aufgebaut:2. Bei Neustarts werden Locks nicht deterministisch initialisiert, obwohl es keinen Lock vor dem Stoppen von smarthome.py gab (ich habe beides ausprobiert knx_listen und knx_init). Wenn ich mir die zu überwachenden Gruppenadressen/Items anschaue, dann sind sie im Zustand, der nicht zu Locks führen sollte. Sende ich groupreadresponse auf die Gruppenadresse, dann wird der Lock wieder deaktiviert. Fehlt da ein knx_init? Falls ja, was könnte man machen, wenn man eine Liste von Gruppenadressen hat (knx_init funktioniert nur mit einer Gruppenadresse)?Was fehlt dem Suspend?Code:[[[RollladenSued]]] name = Rollladen Sued visu_acl = rw sv_widget = {{ device.shutter('item', 'item.name', 'item.move', 'item.stop', 'item.pos') }} type = bool cycle = 300 as_plugin = active as_lock_item = UG.Arbeitszimmer.RollladenSued.auto_lock as_suspend_time = 7200 as_suspend_watch = UG.Arbeitszimmer.RollladenSued.move | UG.Arbeitszimmer.RollladenSued.stop | UG.Arbeitszimmer.RollladenAlle.move | UG.Arbeitszimmer.RollladenAlle.stop as_laststate_item_id = UG.Arbeitszimmer.RollladenSued.auto_laststate_id as_laststate_item_name = UG.Arbeitszimmer.RollladenSued.auto_laststate_name as_item_height = UG.Arbeitszimmer.RollladenSued.pos [[[[suntracking_south]]]] as_use = Autoblind.defaults.suntracking_south [[[[default]]]] as_use = Autoblind.defaults.default [[[[move]]]] type = bool visu_acl = rw knx_dpt = 1 knx_send = 3/1/50 [[[[stop]]]] type = bool visu_acl = rw knx_dpt = 1 knx_send = 3/1/51 [[[[pos]]]] type = num visu_acl = rw knx_dpt = 5.001 knx_init = 3/2/51 knx_send = 3/1/52 [[[[auto_laststate_id]]]] type = str visu_acl = r cache = on [[[[auto_laststate_name]]]] type = str visu_acl = r cache = on [[[[auto_lock]]]] type = bool knx_dpt = 1 knx_listen = 4/3/40 | 3/0/0 visu_acl = rw cache = on
3. Gibt es eine Möglichkeit, zyklische crontab-Trigger nur zwischen Sonnenaufgang und Sonnenuntergang zu erzeugen?
Und noch eine Bemerkung:
Der default-Zustand (ohne "enter" und "leave") muss an der letzten Stelle stehen. Sonst werden alle dahinter definierten Zustände ignoriert.
Gruß
toggle
Einen Kommentar schreiben:
-
Hi Martin,
Das geht leider nicht. Die Trigger-Funktionen werden vom smarthome.py-Standard übernommen und durch das Plugin nur marginal beeinflusst.Zitat von martinb07 Beitrag anzeigenKann ich den Trigger für autoblind auch als default setzen oder muss ich das bei jedem Objekt einzeln machen?
Grüße
offline
Einen Kommentar schreiben:
-
Kann ich den Trigger für autoblind auch als default setzen oder muss ich das bei jedem Objekt einzeln machen?
Einen Kommentar schreiben:
-
Danke an mumpf und offline für 247 + 248!!
Man lernt nie aus.
LG
Wolfgang
Einen Kommentar schreiben:
-
Hi Wolfgang,
Leider doch eine Fehlinterpretation.Zitat von schloessl Beitrag anzeigenLeider steht hier kein Cycle im Beispiel. Ich glaubte irgendwo gelesen zu haben , cycle oder crontab werden erzeugt.
[...]
Eigene Fehlinterpretation nicht ausgeschlossen!
Wolfgang
cycle und crontab müssen (wenn gewünscht) selbst gesetzt werden. Es kann ja auch sein, dass man nur über eval_trigger und nicht zeitgesteuert triggern möchte. Was man sich sparen kann (und was mit dem zittierten Teil der Doku gemeint ist) ist, dass man bei cycle und crontab nicht auch noch den Wert, der gesetzt werden soll, mit angeben muss.
Statt
oderCode:cycle = 60 = 1
reichtCode:crontab = 15 * * * = 1
bzwCode:cycle = 60
aus.Code:crontab = 15 * * *
Grüße
offline
Einen Kommentar schreiben:
-
Hi, dieser Teil der Doku meint, dass du bei cycle oder crontab keinen Wert mitgeben musst. Übliche Syntax:
cycle = 300 = 1
crontab = * 10 * * = 5
Beim autoblind item musst du die Werte ( = 1 bzw. = 5) nicht angeben, dass ist alles. Gruß WaldemarZuletzt geändert von mumpf; 05.08.2015, 10:05.
Einen Kommentar schreiben:
-
Kleines Missverständnis!!
Mein Post 235, hier hatte ich jeweils nur einen Durchlauf gesehen!
Dabei hatte ich streng nach Readme.txt meine+ Conf's aufgebaut.
Leider steht hier kein Cycle im Beispiel. Ich glaubte irgendwo gelesen zu haben , cycle oder crontab werden erzeugt.
.Ich vermute hier noch eine Unstimmigkeit zwischen Beispiel und Readme.It is not required so set values with cycle, crontab. The AutoBlind plugin adds them automatically if requred
Eigene Fehlinterpretation nicht ausgeschlossen!
Wolfgang
Einen Kommentar schreiben:
-
So sieht es gut aus. ich hab es gleich wie du, wobei auch andere Strukturen möglich wären.
Einen Kommentar schreiben:
-
Sorry für den Doppelpost aber ich brauch noch nen kurzen Hinweis.
Die neue autblind-Struktur kommt (bei mir) in die zentral.conf. Soweit klar. Wohin kommt nun das [myFirstAutoBlindControlledObject] aus der Readme? Kann ich die subitems unter jeden bereits existierenden Rollo/Raffstore?
Zuweisungen stimmen natürlich jetzt nicht 100%.Code:[og] [[zimmer]] [[[rollo]]] name = Rollo Zimmer type = bool as_plugin = active as_lock_item = og.zimmer.rollo.auto_lock as_suspend_item = og.zimmer.rollo.auto_suspend as_suspend_time = 7200 as_suspend_watch = og.zimmer.rollo.updown | og.zimmer.rollo.stepstop as_laststate_item_id = og.zimmer.rollo.auto_laststate_id as_laststate_item_name = og.zimmer.rollo.auto_laststate_name as_item_height = og.zimmer.rollo.height as_item_lamella = og.zimmer.rollo.lamella as_item_presence = as_item_brightness = autoblind.default.as_item_temperature [[[[night]]]] as_use = autoblind.default.night [[[[[enter_presence]]]]] as_max_brightness = 750 as_min_time = 09:00 as_max_time = 19:00 as_negate_time = True as_value_presence = True [[[[[enter]]]]] as_value_presence = False [[[[dawn]]]] as_use = autoblind.default.dawn [[[[dusk]]]] as_use = autoblind.default.dusk [[suntracking]] as_use = autoblind.default.suntracking [[[[day]]]] as_use = autoblind.default.day [[[[auto_lock]]]] type = bool knx_dpt = 1 knx_send = 1/1/7 knx_status = 1/1/8 knx_listen = 1/1/7 | 1/0/7 visu_acl = rw cache = on [[[[auto_suspend]]] type = bool knx_dpt = 1 knx_send = 1/1/9 visu_acl = r [[[[auto_laststate_id]]]] type = str visu_acl = r cache = on [[[[auto_laststate_name]]]] type = str visu_acl = r cache = on [[[[fahren]]]] type = bool visu = yes knx_dpt = 1 knx_send = 2/2/12 [[[[schritt]]]] type = bool visu = yes knx_dpt = 1 knx_send = 2/2/13 [[[[pos]]]] type = num visu = yes knx_dpt = 5.001 knx_send = 2/2/14 knx_init = 2/2/15 [[[[schaltuhr]]]] type = dict uzsu_item = og.zimmer.rollo.pos cache = True visu_acl = rw
Einen Kommentar schreiben:

Einen Kommentar schreiben: