Ankündigung

Einklappen
Keine Ankündigung bisher.

Automatische Beschattung

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

    Hallo mumpf,
    Hallo Onkelandy,

    Ich war über das Wocheende unterwegs, deshalb der späte Dank für Eure Hilfen!

    Mir als Frischling mit diesem Plugin geben die letzten beiden Posts (224 + 224) noch etwas Rätsel auf.
    Ich hatte mir vorgenommen die Verschattung aus den ersten Posts (#15) einmal genauer zu studieren. Mit der Lösung arbeitet wohl Onkelanfy.
    Waldemar weist auf die neue Lösung hin..

    Aber ..
    eval:autoblind_eval.SunTracking(). ??

    In meinen Anpassungen, streng nach Vorlage, kann ich die vorgenannte Anweisung nicht zuordnen. Anbei meine .iconf in Auszügen

    Wo muss ich bitte obige Zeile einbinden? Oder ist es die letzte Zeile meines Codings in anderer Syntax?

    Wo steckt die Lösung Subtracking?

    Danke für die Hilfe vorab"

    Wolfgang


    Code:
    [autoblind]
        [[default]]            
            as_item_temperature = aussen.mdt.tempsun
            [[[night]]]
            ..
            [[[dawn]]]
            ..    
            [[[dusk]]]
            ..
            [[[suntracking]]]
                name =  "Tag (suntracking)"
                [[[[enter]]]]
                    as_min_brightness = 20000
                    as_min_sun_azimut = 120
                    as_max_sun_azimut = 240
                    as_min_sun_altitude = 20
                    as_min_temperature = 20
                 [[[[leave_todark]]]]
                    as_max_brightness = 20000
                    as_min_delay = 1200
                 [[[[leave_azimut]]]]
                    as_min_sun_azimut = 120
                    as_max_sun_azimut = 240
                    as_negate_sun_azimut = True                 
            [[[day]]]
    
            
    [jalegessfenster]
            type = bool
            name = EG_Ess_Fenster
            as_plugin = active
            as_lock_item = eg.ess.schatt.auto_lock
            as_suspend_item = eg.ess.schatt.auto_suspend
    #        as_suspend_time = 7200
            as_suspend_time = 1800
            as_suspend_watch = eg.ess.schatt.move | eg.ess.schatt.stop
            as_laststate_item_id = eg.ess.schatt.auto_laststate_id
            as_laststate_item_name = eg.ess.schatt.auto_laststate_name        
            as_item_height = eg.ess.schatt.pos
            as_item_lamella = eg.ess.schatt.lamelle
            as_item_presence = eg.anwesend
            as_item_brightness = aussen.mdt.luxsued
            [[night]]
                as_use = autoblind.default.night
                [[[enter_presence]]]
                    as_max_brightness = 750
                    as_min_time = 07: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

    Kommentar


      Sorry, war gedanklich tatsächlich noch bei der alten Version Hier meine Config, dann sollte alles klar werden hoffe ich. Ich hab's ein wenig anders aufgebaut als du, aber es kommt auf das Gleich raus..
      Code:
      [autoblind]
      type=foo
          [[settings]]
          type = foo
              [[[night]]]
                  type = foo
                  [[[[max_brightness]]]]
                      type = num
                      name = Nachthelligkeit
                      visu_acl = rw
                      cache = True
                      enforce_updates  = yes
                  [[[[min_time]]]]
                      type = str
                      name = Nachtstartzeit
                      visu_acl = rw
                      cache = True
                      enforce_updates  = yes
                      value = 9:00
                  [[[[max_time]]]]
                      type = str
                      name = Nachtendzeit
                      visu_acl = rw
                      cache = True
                      enforce_updates  = yes   
                      value = 16:00
      
          [[default]]
              type=foo
              as_item_brightness = Wetterstation.HelligkeitMaximal
              as_item_brightness_east = Wetterstation.HelligkeitOsten
              as_item_brightness_south = Wetterstation.HelligkeitSueden
              as_item_brightness_west = Wetterstation.HelligkeitWesten
              as_item_temperature = Wetterstation.TemperaturDach
              as_item_wind = Wetterstation.Windgeschwindigkeit.kmh
                      
              [[[night]]]
                  type = foo
                  name = Nacht
                  as_set_height = value:100
                  as_set_lamella = value:100
                  [[[[enter]]]]
                      type = foo
                      as_max_brightness = item:autoblind.settings.night.max_brightness
                      #as_min_time = 9:00
                      as_min_time = item:autoblind.settings.night.min_time
                      as_max_time = item:autoblind.settings.night.max_time
                      as_negate_time = True                        
                     
              [[[day]]]
                  type = foo
                  name = Tag (statisch)
                  as_set_height = value:0
                  as_set_lamella = value:0
                  [[[[enter]]]]
                      type = foo
                      as_min_brightness = 300
                      as_min_time = 6:00
                      as_max_time = 22:00
                      
              [[[suntrack_south]]]
                  type = foo
                  name = Sonnenstand
                  as_set_height = value:100
                  as_set_lamella = eval:autoblind_eval.sun_tracking()
                  [[[[enter_east]]]]
                      type = foo
                      as_min_brightness_east = 77000
                      as_min_sun_altitude = 20
                      as_min_sun_azimut = 95
                      as_max_sun_azimut = 140
                      as_min_temperature = 24
                  [[[[enter_south]]]]
                      type = foo
                      as_min_brightness_south = 77000
                      as_min_sun_altitude = 20
                      as_min_sun_azimut = 95
                      as_max_sun_azimut = 240
                      as_min_temperature = 24
                  [[[[leave_toodark]]]]
                          as_max_brightness = 60000
                          as_min_delay = 1200
                          type = foo
                  [[[[leave_sun_azimut]]]]
                          as_min_sun_azimut = 95
                          as_max_sun_azimut = 240
                          as_negate_sun_azimut = True
                          type = foo
                  [[[[leave_temperature]]]]
                          as_max_temperature = 22
                          as_min_delay = 1200
                          type = foo
      Und weiter unten gibt es dann das Jalousieitem, zB so:

      Code:
      ['sueden']
      type = foo
          [['j7_stiegenhaus']]
          type = foo
          cycle = 600
          as_plugin = active
          name='Sueden Jalousie Stiegenhaus'
          as_lock_item =  sueden.j7_stiegenhaus.autostate_lock
          as_laststate_item_id = sueden.j7_stiegenhaus.autostate_id
          as_laststate_item_name = sueden.j7_stiegenhaus.autostate_name
          as_item_height = sueden.j7_stiegenhaus.hoehe
          as_item_lamella = sueden.j7_stiegenhaus.lamellen
          as_suspend_watch = sueden.j7_stiegenhaus.lz | sueden.j7_stiegenhaus.kz | jalousien.ost.kz | jalousien.ost.lz 
          eval_trigger=jalousien.automatik_lock
          as_suspend_item = sueden.j7_stiegenhaus.autostate_suspend
                  [[[autostate_lock]]]
                      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
                      enforce_updates = true
                  [[[autostate_id]]]
                      type = str
                      visu_acl = r
                      cache = on
                  [[[autostate_name]]]
                      type = str
                      visu_acl = r
                  [[[autostate_suspend]]]
                      type = bool
                      visu_acl = r
                  [[[night]]]
                      type = foo
                      as_use = autoblind.default.night
                  [[[suntrack]]]
                      type = foo
                      as_use = autoblind.default.suntrack_south
                  [[[day]]]
                      type = foo
                      as_use = autoblind.default.day

      Kommentar


        Nachdem ich mit eingelesen habe, frage ich mich, ob das Plugin auch für Rolladensteuerung benutzt werden kann. Ich habe ja keine Lamelleneinstellung, ich möchte nur jeweils eine bestimmte Position anfahren.
        Ist die aktuelle Version, die bei Git (die finde ich allerdings nur über google...) oder die Dropboxvariante?

        Kommentar


          Zitat von Marcov Beitrag anzeigen
          Nachdem ich mit eingelesen habe, frage ich mich, ob das Plugin auch für Rolladensteuerung benutzt werden kann.
          Hi,

          auch wenn das Ding AutoBlind heißt, es ist inzwischen eine gute StateEngine geworden, die man für alles mögliche nutzen kann. Ich nutze sie für Licht, Zirkulation, Lüftung und - ja - auch für Rollläden.

          Die aktuelle Version ist die in GitHub, https://github.com/i-am-offline/smar...ugin.autoblind.

          Gruß, Waldemar
          OpenKNX www.openknx.de

          Kommentar


            So, ich hab jetzt selbst nochmals eine Frage, da gerade die Situation hier auftritt. Mir ist klar, dass ich mit dem min_delay verhindern kann, dass die Jalousien wieder hoch fahren, nur weil grad eine Wolke vor der Sonne ist, wenn das Plugin grad alle Conditions durchspielt.

            Aber wie genau kann ich den umgekehrten Fall verhindern..? Sprich - es ist tendenziell bewölkt und erst wenn die Sonne zB 10 Minuten durchgehend Gas gibt (zB über 80000 Lux ist), soll die Jalousie runter fahren. Ein min_delay oder min_age in der "day" Definition scheint mir nur bedingt sinnvoll zu sein und in der enter-Condition der Suntrack-Bedingung funktioniert das ja auch nicht ganz so wie ich das gedacht hätt, oder schon?

            Mumpf, magst du mal ein paar Beispiele von dir hier posten bzw. schildern.. ich denke, du hast da noch einen Haufen cooler Dinge, die man als Ideen aufschnappen könnte, hehe.

            Kommentar


              @onkelandy:
              delay funktioniert nur bei leave-Bedingungen sinnvoll, nicht bei enter-Bedingungen.

              Mal so ins unreine gedacht: Du legt ein bool-Item an, das du per eval auf True setzt, wenn dein Helligkeitsgrenzwert überschritten wird. Bei Unterschreitung des Grenzwerts setzt du wieder auf False. Statt dem Helligkeitswert wertest du im Plugin nun dieses Item aus und kannst über eine age-Bedingung abprüfen, wielange die Sonne schon bretzelt.

              Grüße
              offline

              Kommentar


                Danke für den Tipp, offline.. aber vielleicht wäre das ja generell ein brauchbares Feature für dein Mega-Plugin ?
                Mit Hystere und Delay funzt ja in punkto Leave ellesperfekt, aber eigtl. wäre es super, wenn es ähnliche Funktionen für die Enter-Bedingung gäbe - oder denk nur ich so ?

                Ansonsten versuch ich mal deinen Vorschlag umzusetzen..

                Kommentar


                  Zitat von Onkelandy Beitrag anzeigen
                  Mumpf, magst du mal ein paar Beispiele von dir hier posten bzw. schildern.. ich denke, du hast da noch einen Haufen cooler Dinge, die man als Ideen aufschnappen könnte, hehe.
                  Kann ich machen, wenn es so weit ist (dann aber in dem Tips & Tricks Thread zu Autoblind). Derzeit sind das bei mir nur Sachen, die ich angetestet habe (außer Zirkulationssteuerung, das mach ich heut Abend mal rein).

                  Aber wenn es um Ideen geht, die kann ich motivieren:
                  Licht: Ich schalte Licht über PM, Taster, Szenen und den Panikmodus der MDT Glastaster. Weitere Einflüsse sind Nachtabdunkelung, Urlaubsmodus (Anwesenheitssimulation).
                  Im Wohn-/Esszimmer hatte ich 4 Taster für Szenen vorgesehen, komme aber sehr schnell auf mehr: Normal, Fernsehen, Musizieren, Gemütlich1, Gemütlich2, Party, Frühstück, Hausaufgaben. Dann waren schon alle Tasten mit Kurz/Lang belegt - Ist schwer zu bedienen und unsmart.
                  Meine aktuelle Idee ist, mit Hilfe des Zustandsautomaten quasi "dynamische Szenen" zu haben, idealerweise zu jeder Tages- und Nachtzeit maximal 2. Das kann man alles über Logiken lösen, aber über Autoblind wird das besser beherrschbar und gut erweiterbar.

                  Zirkulationspumpe: Hatte ich früher über Logik, die Einflussfaktoren (Temperaturen, Präsenz) lassen sich aber in Autoblind übersichtlich auf Zustände mappen (Zirkulation an/aus, Gesamtheizung an/aus). Das stelle ich heut Abend mal rein.

                  Lüftung: Bei mir ist die dezentral, ich kann jeweils Raumpaare individuell steuern. Die Problematik hier ist ähnlich zur Verschattungssteuerung: Man will nachts kalte Luft ins Haus bekommen, Tagsüber soll Wärmerückgewinnung funktionieren (bei der derzeitigen Lage also eher Kälterückgewinnung). Weitere Einflussfaktoren sind Innen- und Außentemp, Luftfeuchte, Luftqualität, Präsenz, Abwesenheitsmodus. Ausgabe hier ist Lüftungsstufe und Bypass für Wärmerückgewinnung.

                  Demnächst kommt dann noch Heizungssteuerung dazu (aber erst im Winter), und Ekey, dann habe ich hoffentlich alle Logiken, die über ein eval hinausgehen, durch Autoblind abgelöst.

                  Der Hautptvorteil von Autoblind (als State Engine) ist meiner Meinung nach die Tatsache, dass es einen Restart von sh.py überlebt - man kehrt in den gleichen Zustand zurück, in dem sh.py gestoppt wurde bzw. der für den Startzeitpunkt geltende Zustand wird dann neu berechnet. Das mit Logiken hin zu bekommen habe ich nicht geschafft. Und ich muss die Logik nicht algorithmisch lösen, sondern über ein Regelwerk - man sagt also nicht, wie man etwas lösen muss, sondern was man haben will. Das steigert die Übersicht und vermindert Seiteneffekte.

                  Gruß, Waldemar
                  OpenKNX www.openknx.de

                  Kommentar


                    Hi Waldemar,

                    Zitat von mumpf Beitrag anzeigen
                    Kann ich machen, wenn es so weit ist (dann aber in dem Tips & Tricks Thread zu Autoblind). Derzeit sind das bei mir nur Sachen, die ich angetestet habe (außer Zirkulationssteuerung, das mach ich heut Abend mal rein).
                    Magst du das nicht in das Wiki auf GitHub stellen? Da kann man es sicherlich besser finden und ggf. abändern als hier im Forum, auch wenn es ein separater Thread ist.

                    Grüße
                    offline

                    Kommentar


                      Hallo,
                      die automatische Beschattung ist installiert und läuft soweit. Jetzt wollte ich an das Feintuning gehen .
                      Dafür lasse ich mir den Sonnenwinkel und Sonnenstand ins logfile schreiben.
                      Gestern, leider etwas spät, habe ich die Beschattung mit dem Debugschalter aktiviert.

                      Das Protokoll zeigt exakt die jeweiligen Zustände an, leider nur bis Mitternacht!!

                      Ich hoffte mir einmal einen kompletten Tag mitzuschneiden, um die Einzelwerte noch zu optimieren!

                      Wer setzt den Debugmodus zurück?

                      Notfalls muss ich mir in aller Früh einmal den Wecker stellen.

                      Ich hoffe es gibt eine Lösung!

                      Wolfgang


                      Kommentar


                        Hi Wolfgang,

                        wenn du das erweiterte Logging aktiviert, wird für jeden Tag eine neue Logdatei geschrieben. Das Datum ist jeweils im Dateinamen enthalten (Rückwärts, also [Jahr]-[Monat]-[Tag]) Das Logging wird nicht ausgeschaltet, du musst nur in der nächsten Datei schauen ...

                        Grüße
                        offline

                        Kommentar


                          Danke offline,

                          so habe ich es auch verstanden. Ich glaubte, das erweiterte Logging ist nur von der Angabe in der Beschattung abhängig.
                          Ich habe den normalen -d beendet und normalgestartet!

                          Das war wohl der große Denkfehler!

                          Na dann eben morgen die Daten für das Feintuning!

                          LG
                          Wolfgang

                          Kommentar


                            Heho offline!

                            Ich hab jetzt in den letzten Wochen zwei Phänomene beobachtet, die ich nicht so ganz zuordnen kann. Vielleicht ist das auch Teil des Konzepts und es passt so. Jedenfalls werden die Jalousien bei einem automatischen Durchlauf (Cycle) immer ziemlich verzögert geschaltet, bei einem Trigger aber fahren sie exakt zeitgleich. Ich gehe mal davon aus, dass eine gewisse Verzögerung logisch ist, weil ja deutlich mehr Zustände errechnet werden müssen als bei einem Trigger. Aber teils sind die Abstände doch recht beträchtlich, zumal die Items zB direkt untereinander deklariert wurden bzw. auch alphabetisch beisammen liegen. Manchmal führt das sogar dazu, dass eine Jalousie mit dem eigtl. gleichen Zustand erst beim nächsten Durchlauf gefahren wird, in meinem Fall also 10 Minuten später.

                            Die Items sind absolut identisch deklariert und es gibt auch keinerlei Delay-Definitionen..
                            Hier ist das erste Update von suntrack:

                            Code:
                            2015-07-31 12:50:38.470800 Update state of item Sueden Jalousie Schiebefix ================================
                            2015-07-31 12:50:38.485710 Last state: sueden.j9_schiebefixteil.day ('Tag (statisch)')
                            2015-07-31 12:50:38.487491 Check if state 'sueden.j9_schiebefixteil.day' ('Tag (statisch)') can be left:
                            2015-07-31 12:50:38.489157 State can be left
                            2015-07-31 12:50:38.507352 Check if state 'sueden.j9_schiebefixteil.suntrack' ('Sonnenstand') can be entered:
                            2015-07-31 12:50:38.509232     Check condition set 'enter':
                            2015-07-31 12:50:38.523838         Age of 'temperature': No limits given
                            2015-07-31 12:50:38.525945         Age of 'sun_altitude': No limits given
                            2015-07-31 12:50:38.527908         Age of 'sun_azimut': No limits given
                            2015-07-31 12:50:38.530584         Age of 'brightness_south': No limits given
                            2015-07-31 12:50:38.543131 State can be entered
                            2015-07-31 12:50:38.545112 Changing to sueden.j9_schiebefixteil.suntrack ('Sonnenstand')
                            Und hier bei der Jalousie direkt daneben. Aber doch eine ganze halbe Minute später!
                            Code:
                            2015-07-31 12:51:11.453865 Update state of item Sueden Jalousie Schiebetuere ==============================
                            2015-07-31 12:51:11.457249 Last state: sueden.j8_schiebetuere.day ('Tag (statisch)')
                            2015-07-31 12:51:11.459037 Check if state 'sueden.j8_schiebetuere.day' ('Tag (statisch)') can be left:
                            2015-07-31 12:51:11.475116 State can be left
                            2015-07-31 12:51:11.477035 Check if state 'sueden.j8_schiebetuere.suntrack' ('Sonnenstand') can be entered:
                            2015-07-31 12:51:11.478716     Check condition set 'enter':
                            2015-07-31 12:51:11.493259         Age of 'temperature': No limits given
                            2015-07-31 12:51:11.495264         Age of 'sun_altitude': No limits given
                            2015-07-31 12:51:11.497263         Age of 'sun_azimut': No limits given
                            2015-07-31 12:51:11.499217         Age of 'brightness_south': No limits given
                            2015-07-31 12:51:11.517763 State can be entered
                            2015-07-31 12:51:11.519544 Changing to sueden.j8_schiebetuere.suntrack ('Sonnenstand')
                            Hier die Items (etwas gekürzt):
                            Code:
                                [['j8_schiebetuere']]
                                type = foo
                                cycle = 600
                                as_plugin = active
                                name='Sueden Jalousie Schiebetuere'
                                as_lock_item =  sueden.j8_schiebetuere.autostate_lock
                                as_laststate_item_id = sueden.j8_schiebetuere.autostate_id
                                as_laststate_item_name = sueden.j8_schiebetuere.autostate_name
                                as_item_height = sueden.j8_schiebetuere.hoehe
                                as_item_lamella = sueden.j8_schiebetuere.lamellen
                                as_suspend_watch = sueden.j8_schiebetuere.lz | sueden.j8_schiebetuere.kz | jalousien.sued.kz | jalousien.sued.lz  
                                eval_trigger=jalousien.automatik_lock
                                as_suspend_item = sueden.j8_schiebetuere.autostate_suspend
                                        [[[autostate_lock]]]
                                            type = bool
                                            knx_dpt = 1
                                            visu_acl = rw
                                            cache = on
                                            enforce_updates = true
                                        [[[autostate_id]]]
                                            type = str
                                            visu_acl = r
                                            cache = on
                                        [[[autostate_name]]]
                                            type = str
                                            visu_acl = r
                                        [[[autostate_suspend]]]
                                            type = bool
                                            visu_acl = r
                                        [[[suntrack]]]
                                            type = foo
                                            as_use = autoblind.default.suntrack_south_terrasse
                                        [[[day]]]
                                            type = foo
                                            as_use = autoblind.default.day
                                        [[[off]]]
                                            type = foo
                                            as_use = autoblind.default.off
                            
                                [['j9_schiebefixteil']]
                                type = foo
                                cycle = 600
                                as_plugin = active
                                name='Sueden Jalousie Schiebefix'
                                as_lock_item =  sueden.j9_schiebefixteil.autostate_lock
                                as_laststate_item_id = sueden.j9_schiebefixteil.autostate_id
                                as_laststate_item_name = sueden.j9_schiebefixteil.autostate_name
                                as_item_height = sueden.j9_schiebefixteil.hoehe
                                as_item_lamella = sueden.j9_schiebefixteil.lamellen
                                as_suspend_watch = sueden.j9_schiebefixteil.lz | sueden.j9_schiebefixteil.kz | jalousien.sued.kz | jalousien.sued.lz
                                eval_trigger=jalousien.automatik_lock
                                as_suspend_item = sueden.j9_schiebefixteil.autostate_suspend
                                        [[[autostate_lock]]]
                                            type = bool
                                            knx_dpt = 1
                                            visu_acl = rw
                                            cache = on
                                            enforce_updates = true
                                        [[[autostate_id]]]
                                            type = str
                                            visu_acl = r
                                            cache = on
                                        [[[autostate_name]]]
                                            type = str
                                            visu_acl = r
                                        [[[autostate_suspend]]]
                                            type = bool
                                            visu_acl = r
                                        [[[suntrack]]]
                                            type = foo
                                            as_use = autoblind.default.suntrack_south_terrasse
                                        [[[day]]]
                                            type = foo
                                            as_use = autoblind.default.day
                                        [[[off]]]
                                            type = foo
                                            as_use = autoblind.default.off
                            
                            [autoblind]
                                [[default]]
                                    [[[suntrack_south_terrasse]]]
                                        type = foo
                                        name = Sonnenstand
                                        as_set_height = value:100
                                        as_set_lamella = value:100
                                        [[[[enter]]]]
                                            type = foo
                                            as_min_brightness_south = 85000
                                            as_min_sun_altitude = 20
                                            as_min_sun_azimut = 130
                                            as_max_sun_azimut = 230
                                            as_min_temperature = 24
                                        [[[[leave_toodark]]]]
                                                as_max_brightness_south = 70000
                                                as_min_delay = 1200
                                                type = foo
                                        [[[[leave_sun_azimut]]]]
                                                as_min_sun_azimut = 130
                                                as_max_sun_azimut = 230
                                                as_negate_sun_azimut = True
                                                type = foo
                                        [[[[leave_sun_altitude]]]]
                                                as_max_sun_altitude = 20
                                                type = foo            
                                        [[[[leave_temperature]]]]
                                                as_max_temperature = 22
                                                as_min_delay = 1200
                                                type = foo
                            Merci für deine Antwort!

                            Kommentar


                              Hi onkelandy,

                              ich denke nicht das das an der Anzahl der zu berechnenden Zustände liegt. Das sollte sich maximal im Bereich einiger Sekundenbruchteile abspielen. Ich denke eher, das das an der Art und Weise liegt, wie der Scheduler von Smarthome.py arbeitet. Ich habe mir das entsprechende Coding mal angesehen. Dabei sind mir zwei Sachen aufgefallen:
                              • Wenn beim Starten von smarthome.py die Scheduler-Einträge für Items mit cron bzw. cycle-Attribut angelegt werden, wird automatisch ein Offset zur Laufzeit ergänzt um die Scheduler-Jobs zu streuen. Dieses Offset wird zufällig ermittelt und beträgt zwischen 10 und 15 Sekunden.
                              • Wenn der Scheduler ein Item triggert, setzt er die nächste Laufzeit für dieses Item zurück. Erst beim nächsten Durchlauf des Schedulers wird die nächste Laufzeit neu berechnet. Bei Cycle wird dabei einfach die Cycle-Zeit zur aktuellen Zeit addiert. Wenn ein Durchlauf des Schedulers sich etwas verzögert, verlängert sich dadurch ggf. die Zeit bis zum nächsten Aufruf.

                              Ich denke, dass diese beiden Verhaltensweisen zusammen dafür sorgen können, dass die einzelnen Items bei cycle streuen und ggf. auseinanderlaufen. Ich habe das bei mir selbst beobachtet, wobei es bei mir keine 30 Sekunden sind, sondern nur ca. 3-5. Du kannst ja mal in den Logs der beiden Jalousien schauen, ob sie diesen Abstand seit dem letzten Resart von Smarthome.py haben oder ob da ein Drift erkennbar ist.

                              Wenn du alle Jalousien immer gemeinsam auslösen willst, dürfte der sinnvollste Weg darin liegen, ein separates Item mit einem cycle zu haben, dass dann alle Jalousie-Items triggert.

                              Grüße
                              offline

                              Kommentar


                                Ich glaube ich habe mich jetzt im Wald verlaufen.
                                Habe in letzter Zeit nur noch sporadisch mitgelesen und nebenbei das Plugin in meine Installation integriert. Dabei habe ich jetzt anscheinend etwas durcheinander gebracht.

                                Ich fange jetzt mal ganz unten an und bitte um Korrekturen bzw. Hilfestellungen.
                                Das Plugin wird erkannt und initalisiert, sagt allerdings im Log, dass es deaktiviert wurde, da keine items gefunden wurden.

                                Beispiel eines Items:
                                Code:
                                [[[rollo]]]
                                    name = Rollo Zimmer
                                    [[[[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        
                                    [[[[AutoBlind]]]]
                                            watch_manual = og.zimmer.rollo.fahren | og.zimmer.rollo.schritt | og.zimmer.rollo.pos | og.zimmer.rollo.schaltuhr
                                            manual_break = 7200
                                        [[[[[active]]]]]
                                            type = bool
                                            visu_acl = rw
                                            cache = on
                                        [[[[[lastpos_id]]]]]
                                            type = str
                                            visu_acl = r
                                            cache = on
                                        [[[[[lastpos_name]]]]]
                                            type = str
                                            visu_acl = r
                                            cache = on
                                        [[[[[night]]]]]
                                            use = autoblind.default.night
                                        [[[[[morning]]]]]
                                            use = autoblind.default.morning
                                        [[[[[evening]]]]]
                                            use = autoblind.default.evening
                                        [[[[[suntrack]]]]]
                                            use = autoblind.default.suntrack_front2
                                        [[[[[day]]]]]
                                            use = autoblind.default.day
                                Im zentral.conf steht folgende:

                                Code:
                                [autoblind]
                                    [[default]]
                                        item_brightness = zentral.sonstiges.helligkeit_aussen_og
                                        item_temperature = wp.temp.aussen
                                        [[[night]]]
                                            type = foo
                                            name = Night
                                            position = 100,0
                                            [[[[enter]]]]
                                                max_brightness = 100
                                                min_time = 17,0
                                                max_time = 8,0
                                
                                        [[[morning]]]
                                            type = foo
                                            name = Twilight in the morning
                                            position = 100,25
                                            [[[[enter]]]]
                                                min_brightness = 100
                                                max_brightness = 300
                                                min_time = 0,0
                                                max_time = 12,0
                                
                                        [[[evening]]]
                                            type = foo
                                            name = Twilight in the evening
                                            position = 100,75
                                            [[[[enter]]]]
                                                min_brightness = 100
                                                max_brightness = 300
                                                min_time = 12,0
                                                max_time = 24,0
                                
                                        [[[suntrack_front1]]]
                                            type = foo
                                            name = Day (tracking the sun)
                                            position = auto
                                            [[[[enter]]]]
                                                min_brightness = 60000
                                                min_sun_altitude = 20
                                                min_sun_azimut = 170
                                                max_sun_azimut = 270
                                            [[[[leave]]]]
                                                max_brightness = 35000
                                                min_age = 1800
                                
                                        [[[suntrack_front2]]]
                                            type = foo
                                            use = autoblind.default.suntrack_front1
                                            [[[[enter]]]]
                                                min_sun_azimut = 260
                                                max_sun_azimut = 360
                                
                                        [[[suntrack_front3]]]           
                                            type = foo
                                            use = autoblind.default.suntrack_front1
                                            [[[[enter]]]]
                                                min_sun_azimut = 70
                                                max_sun_azimut = 170
                                
                                        [[[day]]]
                                            type = foo
                                            name = Day (static)
                                            position = 0,100
                                            [[[[enter]]]]
                                                min_time = 6,0
                                                max_time = 22,0
                                
                                        [[[child_nap]]]
                                            name = Childrens nap after lunch
                                            position = 100,0
                                            [[[[enter]]]]
                                                min_time = 12,15
                                                max_time = 16,0
                                
                                        [[[child_sleep]]]
                                            name = Childrens sleep at night
                                            position = 100,0
                                            [[[[enter]]]]
                                                min_time = 19,30
                                                max_time = 08,30
                                Ich bin nun schon soweit, dass das "as_plugin=active" fehlt. Als ich eure Zeilen und die neue (?) Readme so gesehen habe, viel mir auf, dass es in der Struktur doch einige Differenzen gibt.
                                Verwende ich einen alten Stand?

                                Vielen Dank schon mal.
                                ---
                                Martin

                                Kommentar

                                Lädt...
                                X