Ankündigung

Einklappen
Keine Ankündigung bisher.

Automatische Beschattung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • firefox
    antwortet
    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

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    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:
    Code:
    [AutoBlind]
        item_Hoehe = EG.Rollo.Hoehe
        item_Lamelle = EG.Rollo.Lamelle
        [[Tag]]
            set_Hoehe = 30
            set_Lamelle = 0
    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...

    Ist nur so eine Idee...

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • Dragonos2000
    antwortet
    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:


  • offline
    antwortet
    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:


  • Dragonos2000
    antwortet
    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:


  • offline
    antwortet
    Hi Onkelandy,

    Zitat von Onkelandy Beitrag anzeigen
    Aber sollte das nicht möglich sein, das über ein if jalousienhoehe.changed_by().startswith('Visu')) an der richtigen Stelle abfangen zu können?
    Auch das klappt nur beim Senden des Höhenwerts. Wenn die Rückmeldung vom Aktor kommt ist changed_by() wieder "KNX:[...]"

    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:


  • mumpf
    antwortet
    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:


  • Onkelandy
    antwortet
    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:


  • offline
    antwortet
    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
    offline
    Zuletzt geändert von offline; 11.06.2015, 20:19.

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    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:


  • offline
    antwortet
    Zitat von mumpf Beitrag anzeigen
    heißt das, ich kann die Automatik auch über active wieder vorzeitig einschalten, auch wenn sie über watch_manual ausgeschaltet wurde?
    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 anzeigen
    Und kann man cycle = 0 setzen und damit die periodische Auswertung der Zustände unterdrücken (dann eben nur per watch_item)?
    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 anzeigen
    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.
    ... kenne ich ... bei mir ist das der Grund, warum es erst die Logik und dann das Plugin gibt ;-)))

    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:


  • McTao
    antwortet
    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 Andreas
    Zuletzt geändert von McTao; 11.06.2015, 18:03.

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    @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.day
    Zuletzt geändert von Onkelandy; 14.06.2015, 08:44. Grund: Items vervollständigt, damit's logischer wird ;)

    Einen Kommentar schreiben:


  • McTao
    antwortet
    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 Andreas
    Zuletzt geändert von McTao; 11.06.2015, 10:09.

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    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:

Lädt...
X