Ankündigung

Einklappen
Keine Ankündigung bisher.

Automatische Beschattung

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

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

    Einen Kommentar schreiben:


  • offline
    antwortet
    Zitat von mumpf Beitrag anzeigen
    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.
    Es sollte auch Ausreichen im AutoBlind-Bedingungsset die Bedingung
    Code:
    as_min_sun_altitude = 0
    (oder einen höheren Wert) zu setzen. Dann braucht man kein separates Item.

    Einen Kommentar schreiben:


  • offline
    antwortet
    Zitat von toggle Beitrag anzeigen
    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.
    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 anzeigen
    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.
    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.

    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
    offline
    Zuletzt geändert von offline; 16.08.2015, 07:03.

    Einen Kommentar schreiben:


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


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


  • toggle
    antwortet
    Update:
    Was fehlt dem Suspend?
    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.

    Gruß
    toggle

    Einen Kommentar schreiben:


  • toggle
    antwortet
    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:
    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
    Was fehlt dem Suspend?
    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)?

    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:


  • offline
    antwortet
    Hi Martin,

    Zitat von martinb07 Beitrag anzeigen
    Kann ich den Trigger für autoblind auch als default setzen oder muss ich das bei jedem Objekt einzeln machen?
    Das geht leider nicht. Die Trigger-Funktionen werden vom smarthome.py-Standard übernommen und durch das Plugin nur marginal beeinflusst.

    Grüße
    offline

    Einen Kommentar schreiben:


  • martinb07
    antwortet
    Kann ich den Trigger für autoblind auch als default setzen oder muss ich das bei jedem Objekt einzeln machen?

    Einen Kommentar schreiben:


  • schloessl
    antwortet
    Danke an mumpf und offline für 247 + 248!!

    Man lernt nie aus.

    LG
    Wolfgang

    Einen Kommentar schreiben:


  • offline
    antwortet
    Hi Wolfgang,

    Zitat von schloessl Beitrag anzeigen
    Leider steht hier kein Cycle im Beispiel. Ich glaubte irgendwo gelesen zu haben , cycle oder crontab werden erzeugt.
    [...]
    Eigene Fehlinterpretation nicht ausgeschlossen!

    Wolfgang
    Leider doch eine Fehlinterpretation.
    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
    Code:
    cycle = 60 = 1
    oder
    Code:
    crontab = 15 * * * = 1
    reicht

    Code:
    cycle = 60
    bzw
    Code:
    crontab = 15 * * *
    aus.

    Grüße
    offline



    Einen Kommentar schreiben:


  • mumpf
    antwortet
    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ß Waldemar
    Zuletzt geändert von mumpf; 05.08.2015, 10:05.

    Einen Kommentar schreiben:


  • schloessl
    antwortet
    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.

    .
    It is not required so set values with cycle, crontab. The AutoBlind plugin adds them automatically if requred
    Ich vermute hier noch eine Unstimmigkeit zwischen Beispiel und Readme.

    Eigene Fehlinterpretation nicht ausgeschlossen!

    Wolfgang

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    So sieht es gut aus. ich hab es gleich wie du, wobei auch andere Strukturen möglich wären.

    Einen Kommentar schreiben:


  • martinb07
    antwortet
    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?


    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
    Zuweisungen stimmen natürlich jetzt nicht 100%.
    Zuletzt geändert von martinb07; 03.08.2015, 12:09. Grund: Item geändert.

    Einen Kommentar schreiben:

Lädt...
X