Hallo offline,
hab soeben auch mal dein Plugin eingebaut und funktioniert auf Anhieb, wunderbar. Super Plugin, Danke!!
Vielleicht noch eine kleine Verbesserungsidee wäre als enter / leave Kriterium noch das sh.sun.set und sh.sun.rise einzubauen.
Gruß Thomas
Ankündigung
Einklappen
Keine Ankündigung bisher.
Automatische Beschattung
Einklappen
X
-
Hi Thomas,
ich wollte nur kurz feedback geben:
1. Mir ist aufgefallen, dass einige Rollläden - sobald sie manuell bedient worden sind - nicht wieder in den auto Modus zurückfallen und auf inactive bleiben. Ich habe aber noch nicht raus gefunden, unter welchen Bedingungen das passiert, denn bei einigen klappt es. Scheint ein sporadischer Fehler zu sein. Werde ich nächste Woche mal näher untersuchen.
2. Ne Kleinigkeit für die Visu: Ich stelle bei mir auch den Zustand lastpos_name dar und habe festgestellt, dass dort auch "(inactive)" dargestellt wird. Allerdings auch wenn man manuell was verstellt hat. Könnte man nicht (wenn der Timer aktiv ist) ein "(manual)" darstellen? Oder - noch besser - noch 2 neue plugin properties "name_manual" und "name_inactive" einführen und deren Inhalte dann in der Visu anzeigen?
Ich hab auch noch einen Vorschlag zur Verallgemeinerung als Zustandsautomat: Das einzige, was stört, ist derzeit, dass man immer die beiden Items haben muss, die das position attribut anspricht (also item_id_lamella und item_id_height). Du hast schon eine Namenskonvention für die Referenz auf andere Items (item_name).
Wenn man bei den Position-Items auch noch ein (oder mehrere) "set_name" zulassen würde, könnte man allgemeinere Steuerungen realisieren.
Adäquates Beispiel als Ersatz für die position:
Natürlich sollte man nicht position ersetzen, es macht ja für Jalousien Sinn, aber für Rollläden könnte man dann nur Hoehe haben...Code:[AutoBlind] item_Hoehe = EG.Rollo.Hoehe item_Lamelle = EG.Rollo.Lamelle [[Tag]] set_Hoehe = 30 set_Lamelle = 0
Ist nur so eine Idee...
Gruß, Waldemar
Einen Kommentar schreiben:
-
OK, danke für die Erläuterung-dann hab ich es richtig verstanden. Mächtiges Plugin- wirklich gute Arbeit und danke dafür. Nur für Beschattung viel zu schade
Eigentlich ein universeller Zustandsautomat.
Gruß
Jochen.
Einen Kommentar schreiben:
-
Hi Jochen,
ja, die einzelnen Positionen werden der Reihe nach abgearbeitet, das erste, bei der alle Bedingungen eines enter-Bedingungssets erfüllt sind, wird angesteuert.
Relevant ist dabei die Reihenfolge der Positionen unterhalb des tatsächlichen "AutoBlind" items. In #66 werden zunächst einige Positionen unterhalb von "autoblind.default" vordefiniert. Deren Reihenfolge ist egal. Unterhalb des Items "sueden.j7_stegenhaus.AutoBlind liegen die relevanten Positionen, die Ihre Konfiguration per "use" von den vordefinierten Positionen übernehmen. Hier wird erst "night", dann "morning", "evening" und schließlich "suntrack" geprüft. Das Beispiel scheint jedoch unvollständig zu sein, denn "day" aus den defaults wird nicht verwendet, und "morning" und "evening" ist bei den defaults nicht definiert.
Wenn man "day" jedoch bei den relevanten Positionen verwendet hast du natürlich recht. Es muss hinter "suntrack" stehen, sonst wird "suntrack" nicht erreicht (es sei denn es die enter-Bedingungen für "suntrack" sind zwischen 22 und 6 Uhr erfüllt ....)
Grüße
offline
Einen Kommentar schreiben:
-
Noch eine grundsätzliche Verständnisfrage meinerseits, wie das Plugin arbeitet (bin auch gerade am Implementieren):
Werden die Positionen bei jedem Lauf der Reihe nach von oben nach unten abgearbeitet und die erste mit allen erfüllten Bedingungen "zieht"? In der Doku steht da zwar was in der Art, aber nur auf die Bedinungen bezogen...
Beim den Bedingungen aus #66 würde das ja dann bedeuten, dass "suntrack" immer vor "day" stehen muss, weil andernfalls die Abarbeitung schon bei "day" enden würde und suntrack nie abgeprüft wird...
Oder hab ich das falsch verstanden?
Gruss
Jochen.
Einen Kommentar schreiben:
-
Hi Onkelandy,
Auch das klappt nur beim Senden des Höhenwerts. Wenn die Rückmeldung vom Aktor kommt ist changed_by() wieder "KNX:[...]"Zitat von Onkelandy Beitrag anzeigenAber sollte das nicht möglich sein, das über ein if jalousienhoehe.changed_by().startswith('Visu')) an der richtigen Stelle abfangen zu können?
Ich habe mal verschiedene Möglichkeiten durchgedacht, was man hier tun könnte. Die einzig sinnvolle Lösung ist vermutlich, über ein weiteres Attribut eine Blacklist von KNX Gruppenadressen anzugeben, bei denen die automatische Deaktivierung eben nicht greifen soll. Hier trägt man dann in diesem Fall die Rückmelde-GA des Jalousieaktors ein.
Grüße
offline
Einen Kommentar schreiben:
-
Hi Thomas,
vielen Dank für den Change mit develop = 0. Du bist mir echt zu schnell - ich hab echt ein schlechtes Gewissen, dass ich das nicht so schnell ausprobieren kann, aber es wird erst kommende Woche was, bin übers WE weg.
Gruß, Waldemar
P.S.: Habe soeben testweise die Steuerung meiner dezentralen Lüftung mit Deinem Plugin gestartet...
Einen Kommentar schreiben:
-
Aber sollte das nicht möglich sein, das über ein if jalousienhoehe.changed_by().startswith('Visu')) an der richtigen Stelle abfangen zu können?
Einen Kommentar schreiben:
-
mumpf Gerade getestet, cycle=0 ist erst mal keine gute Idee. Die Position wird nämlich wirklich alle 0 Sekunden (also permanent) refresht. Auf Github habe ich im Develop-Zweig ein Feature eingecheckt, bei dem bei cycle=0 kein periodischer Refresh stattfindet, sondern der Refresh in der Tat nur über das Watch-Item getriggert wird.
Onkelandy Ebenfalls getestet. Zumindest bei mir sind das Problem die Rückmelde-GAs des Jalousieaktors, die beim Höhen-Item als "knx_listen" eingetragen sind. Das Senden der neuen Höhe vom Plugin wird im Plugin abgefangen. Die Rückmeldung der Höhe kömmt jedoch über KNX und wird daher nicht ausgefiltert. Dadurch wird die automatische Deaktivierung ausgelöst, wenn das Höhen-Item als watch_manual eingetragen ist.
Edit: Analog gilt das natürlich auch für Änderungen aus der Visu. Das Senden lässt sich abfangen, bei der Rückmeldung der Höhe vom Aktor leider nicht. Workaround währe ggf. ein separates Höhen-Item ohne "knx_listen".
Grüße
offlineZuletzt geändert von offline; 11.06.2015, 20:19.
Einen Kommentar schreiben:
-
Hi offline! Danke für den Hinweis!! Das wird's natürlich sein!!! Ich hatte das eigentlich drum drin, weil ich auch direkte Höhenänderungen über die Visu abfangen wollte.. insofern war mein ursprünglicher Ansatz gar nicht so schlecht, bei dem gecheckt wird, ob über KNX oder VISU. Vielleicht könnten wir das im Plugin ja noch abfangen... Ich kuck mal
Einen Kommentar schreiben:
-
Das manuelle Schalten des Active-Items hat immer Priorität gegenüber dem automatischen Deaktivieren. Wenn du also manuell deaktivierst, ist die Automatik aus, solange bis du wieder manuell aktivierst. Wenn automatisch deaktiviert wurde kannst du manuell wieder aktivieren. Der Timer zur automatischen Reaktivierung wird dabei gelöscht, so dass ein anschließendes manuelles Deaktivieren tatsächlich so lange stehen bleibt, bis du manuell wieder aktivierst.Zitat von mumpf Beitrag anzeigenheißt das, ich kann die Automatik auch über active wieder vorzeitig einschalten, auch wenn sie über watch_manual ausgeschaltet wurde?
Das geht bis jetzt noch nicht. Ich weiß ehrlich gesagt garnicht was bei cycle=0 passiert. Müsste ich mal testen. Die Idee ist aber nicht schlecht, das lässt sich auch sehr leicht einbauen.Zitat von mumpf Beitrag anzeigenUnd kann man cycle = 0 setzen und damit die periodische Auswertung der Zustände unterdrücken (dann eben nur per watch_item)?
... kenne ich ... bei mir ist das der Grund, warum es erst die Logik und dann das Plugin gibt ;-)))Zitat von mumpf Beitrag anzeigenIch habe inzwischen immer mehr Spaß mit Deinem Plugin, meine Frau äußert jetzt auch Sonderwünsche, die ich mit AutoBlind recht komfortabel erfüllen kann.
Onkelandy : Ich glaube das Problem bei deiner Konfiguration liegt darin, dass du das Item für die Höhe auch nochmal bei "watch_manual" angegeben hast. Diese Konstellation habe ich bei mir nicht getestet.
Grüße
offline
Einen Kommentar schreiben:
-
Onkelandy Danke.
Dann habe ich das verstanden. Den Default muss ich mir selber in die Konfig einrichten, der ist nicht schon im plugin drin. Das macht Sinn.
Ich werde dann heute Abend mal testen (vor allem mit der Höhe mit den eingeschränkten Möglichkeiten, wenn man kein Positionsobjekt hat. Sollte dabei etwas sinnvolles herauskommen, werde ich die Sachen hier (oder in einem neuen Beitrag) mitteilen.)
Gruss AndreasZuletzt geändert von McTao; 11.06.2015, 18:03.
Einen Kommentar schreiben:
-
@McTao:
Würde behaupten, du musst dann 1 und 0 machen, da es ja kein Höhenitem gibt. Aber vermutlich klappt es auch mit 100, weil es nicht 0 ist
Am besten checken.
Das active ist wohl Itembezogen, was auch Sinn macht: wenn du eine Jalouse manuell betätigst, sollen die anderen ja aber trotzdem normal automatisch funktionieren. Du kannst das allerdings so einstellen, dass das Activeitem auch auf andere GAs hört (mit nem | dazwischen) und so für alle zusätzlich eine GA angeben, die als zentrales An/Aus gilt.
Wenn du nur 1 Jalousie pro Fassadenseite hast, kannst du die Definitionen (active, last_pos, etc. sowie die Sonnenstand enter und leave Definitionen) direkt ins Item geben. Sobald du aber mehrere hast, macht es Sinn, alles als zB Sonnenstand_Osten im default zu definieren und dann darauf mit use.default.Sonnenstand_Osten in den einzelnen Items zu referenzieren. Für Dinge, die allgemeingültig sind wie zB Tag und Nacht nutzt du auf jeden Fall die Möglichkeit, alles unter default abzulegen.
@offline:
Ja, das mit dem manuellen Schalten habe ich verstanden. Allerdings ist es bei mir so, dass das Active Item auch dann auf 0 geschaltet wird, wenn die Jalousie durch dein Plugin in einen anderen Zustand wechselt. Ich hab das Gefühl, da verheddert es sich dann auch immer wieder mal und die Jalousien schalten dann auch nicht mehr auf active zurück. Mich irritiert das ja eh, denn ich denke ja, dass das Activeitem immer auf 1 sein soll, außer man betätigt manuell etwas. Vielleicht habe ich hier auch in meiner Config einen Dreher drin...!?? Kannst du mal gucken?
Könnte mir vorstellen, dass sich das knx_init und _listen gegenseitig stört, allerdings habe ich das gleiche Phänomen, wenn ich einfach nur beide GAs ins knx_listen nehmen. (eine GA davon ist das Haupt-Aktiv-Item.. Dieses ist aber auch tatsächlich immer ein, hab ich kontrolliert)
Code:[autoblind] type=foo [[default]] type=foo item_brightness = Wetterstation.HelligkeitMaximal item_brightness_east = Wetterstation.HelligkeitOsten item_brightness_south = Wetterstation.HelligkeitSueden item_brightness_west = Wetterstation.HelligkeitWesten item_temperature = Wetterstation.TemperaturDach [[[morning]]] type = foo name = Morgendaemmerung position = 100,25 [[[[enter]]]] type = foo min_brightness = 100 max_brightness = 300 min_time = 0,0 max_time = 12,0 [[[[leave]]]] type = foo min_brightness = 300 min_age = 10 [[[evening]]] type = foo name = Abenddaemmerung position = 100,50 [[[[enter]]]] type = foo min_brightness = 100 max_brightness = 300 min_time = 12,0 max_time = 24,0 [[[[leave]]]] type = foo max_brightness = 100 min_age = 10 [[[night]]] type = foo name = Nacht position = 100,100 [[[[enter]]]] type = foo max_brightness = 100 [[[day]]] type = foo name = Tag (statisch) position = 0,0 [[[[enter]]]] type = foo min_brightness = 300 min_time = 6,0 max_time = 22,0 [[[suntrack_south]]] type = foo name = Sueden (Sonnenstand) position = auto [[[[enter]]]] type = foo min_brightness_south = 70000 min_sun_altitude = 20 min_sun_azimut = 95 max_sun_azimut = 240 min_temperature = 20 [[[[leave]]]] type = foo #max_brightness_south = 35000 min_age = 1200 min_sun_azimut = 240 ['jalousien'] type = foo [['automatik']] type = bool visu_acl = rw enforce_updates = yes knx_dpt = 1 cache = True knx_send = 4/5/0 knx_status = 4/5/100 knx_init = 4/5/0 ['sueden'] type = foo [['j7_stiegenhaus']] type = foo [[[AutoBlind]]] type = foo watch_manual = sueden.j7_stiegenhaus.lz | sueden.j7_stiegenhaus.kz | sueden.j7_stiegenhaus.hoehe [[[[active]]]] type = bool knx_dpt = 1 knx_send = 4/5/13 knx_status = 4/5/14 knx_init = 4/5/13 knx_listen = 4/5/0 visu_acl = rw cache = on [[[[lastpos_id]]]] type = str visu_acl = r cache = on [[[[lastpos_name]]]] type = str visu_acl = r cache = on [[[[night]]]] type = foo use = autoblind.default.night [[[[morning]]]] type = foo use = autoblind.default.morning [[[[evening]]]] type = foo use = autoblind.default.evening [[[[suntrack]]]] type = foo use = autoblind.default.suntrack_south [[[[day]]]] type = foo use = autoblind.default.dayZuletzt geändert von Onkelandy; 14.06.2015, 08:44. Grund: Items vervollständigt, damit's logischer wird ;)
Einen Kommentar schreiben:
-
Hi,
ich versuche gerade meine vielen Scripte durch das Plugin zu ersetzen. Habe aber einige zusätzliche Fragen, die ich so noch nicht direkt umsetzen kann, vielleicht habt ihr Tips:
Meine Aktoren (sehr alt) können nur auf oder ab und stop. (Das ist kein Problem, ich kann mit ganz heruntergefahrenen Rollläden leben, habe aber auch schon mit Fahren und Zeit experimentiert, dazu gibt es einen andereen Foreneintrag).
Muss ich jetzt bei Höhe 1 und 0 eintragen oder 100 und 0?
Ich würde ein Watch Objekt in logic.conf auf die Höhe legen und dann ein move mit 1 oder 0 auslösen um die Position anzusteuern.
Für Lamelle brauche ich ein Dummy Item, habe ich auch verstanden.
Kann mal jemand einen Ausschnitt aus seiner Umgesetzten item.conf hier einstellen, so dass evtl. folgendes beantwortet wird:
aktive ist ein Schalter mit dem ich die Beschattung im Haus an-/ausschalten kann (dann haben alle Items den gleichen Eintrag und ich brauche eigentlich nur knx_listen), oder ist das ItemBezogen?
Muss ich die Default Einstellung am Anfang der Item.conf hineinkopieren um die Hausseiten anzupassen oder mache ich das bei jedem Item einzeln?
Schön wäre deshalb mal eine Konfiguration mit mehreren Rollläden, incl. Defaulteinstellungen und evtl. einer Musterkondition.
Kann mir da jemand weiterhelfen.
Gruss AndreasZuletzt geändert von McTao; 11.06.2015, 10:09.
Einen Kommentar schreiben:
-
Hi Thomas,
heißt das, ich kann die Automatik auch über active wieder vorzeitig einschalten, auch wenn sie über watch_manual ausgeschaltet wurde?
Und kann man cycle = 0 setzen und damit die periodische Auswertung der Zustände unterdrücken (dann eben nur per watch_item)?
Ich habe inzwischen immer mehr Spaß mit Deinem Plugin, meine Frau äußert jetzt auch Sonderwünsche, die ich mit AutoBlind recht komfortabel erfüllen kann.
Danke und Gruß,
Waldemar
Einen Kommentar schreiben:

Einen Kommentar schreiben: