Ankündigung

Einklappen
Keine Ankündigung bisher.

Automatische Beschattung

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

    Hi,

    ich habe jetzt den ganzen Thread noch mal von vorne gelesen. Echt spannend wie es sich entwickelt hat?

    Was ich nirgendwo gefunden habe: gibt es bei enter auch ein delay.

    Heute kam bei uns die Sonne für ganze 3 Minuten durch die Wolken => sunrise startet und durch das delay bei leave bleibt es erst mal so.

    Habe ich da etwas überlesen oder muss ich mir für enter sunrise noch eine Funktion basteln?
    Oder kann man da etwas mit eval machen (eval habe ich kaum benutzt und muss mich da noch etwas reindenken.)

    Gruss Andreas

    Kommentar


      Hi Andreas,

      du hast nichts übersesen. Bei enter-Condition Sets kann delay nicht verwendet werden. Das einzubauen ist auch eher aufwändig, denn man bräuchte ja für jeden Zustand einen eigenen delay-Zähler. Um ein Delay bei enter-Bedindungssets zu realisieren würde ich folgendes vorschlagen:
      • Lege ein bool Item an, dass über eval "True" wird wenn dein Helligkeitsgrenzwert überschritten wird, und ansonsten False ist.
      • Im AutoBlind-Plugin fragst du nun nicht mehr die absolute Helligkeit ab, sondern nur noch dieses neue Item. Über die agemin-Bedingung kannst du dann den Zeitraum vorgeben, seit dem das Item "True" bzw. "False" sein soll.

      Grüße
      offline

      Kommentar


        Hallo zusammen,

        ich habe gerade die nächsten Änderungen auf GitHub gepusht:
        • Alle Attribute haben nun das Prefix "as_" um die Zugehörigkeit zum Plugin zu kennzeichnen, wie von callidomus angeregt. Die vorherigen Attribute werden vorerst weiterhin ausgewertet, erzeugen jedoch eine Warnung im smarthome.py-Log.
        • Der Pfad für das erweiterte Logging wird releativ zum smarthome.py Basisverzeichnis ausgewertet, sofern er nicht mit einem "/" beginnt (Sorry Windows-User ....)
        • Wenn der Pfad zum erweiterten Logging nicht existiert, wird er angelegt.

        Grüße
        offline
        Zuletzt geändert von offline; 14.07.2015, 16:25.

        Kommentar


          Hi Offline,

          habe jetzt versucht das mit dem Helligkeitsgrenzwert umzusetzen. Habe allerdings kein eval, sondern eine Logik verwendet. Aber irgendwie geht mein item_XXXX nicht.

          ich habe mal den Code angehängt, aber das Item wird in der AutoBlind-Log nicht angezeigt:

          Code:
           [FONT=Menlo][SIZE=11px][autoblind][/SIZE][/FONT]
            [FONT=Menlo][SIZE=11px]  type=foo[/SIZE][/FONT]
            [FONT=Menlo][SIZE=11px]  [[default]][/SIZE][/FONT]
            [FONT=Menlo][SIZE=11px]    type=foo[/SIZE][/FONT]
            [FONT=Menlo][SIZE=11px]    item_brightness = Wetter.Solarstrahlung[/SIZE][/FONT]
            [FONT=Menlo][SIZE=11px]    item_sunlight = Wetter.sunlight[/SIZE][/FONT]
            [FONT=Menlo][SIZE=11px]    [[[day]]][/SIZE][/FONT]
            [FONT=Menlo][SIZE=11px]      type = foo[/SIZE][/FONT]
            [FONT=Menlo][SIZE=11px]      name = Tag (statisch)[/SIZE][/FONT]
            [FONT=Menlo][SIZE=11px]      set_height = value:0[/SIZE][/FONT]
            [FONT=Menlo][SIZE=11px]      [[[[enter]]]][/SIZE][/FONT]
            [FONT=Menlo][SIZE=11px]        type = foo[/SIZE][/FONT]
            [FONT=Menlo][SIZE=11px]        min_time = 9:00[/SIZE][/FONT]
            [FONT=Menlo][SIZE=11px]        max_time = 21:00[/SIZE][/FONT]
            [FONT=Menlo][SIZE=11px]      [[[[leave]]]][/SIZE][/FONT]
            [FONT=Menlo][SIZE=11px]        type = foo[/SIZE][/FONT]
            [FONT=Menlo][SIZE=11px]        min_age = 600[/SIZE][/FONT]
            [FONT=Menlo][SIZE=11px]    [[[suntrack_south]]][/SIZE][/FONT]
            [FONT=Menlo][SIZE=11px]      type = foo[/SIZE][/FONT]
            [FONT=Menlo][SIZE=11px]      name = Sueden (Sonnenstand)[/SIZE][/FONT]
            [FONT=Menlo][SIZE=11px]      set_height = value:100[/SIZE][/FONT]
            [FONT=Menlo][SIZE=11px]      [[[[enter]]]][/SIZE][/FONT]
            [FONT=Menlo][SIZE=11px]        type = foo[/SIZE][/FONT]
            [FONT=Menlo][SIZE=11px]        min_brightness = 500[/SIZE][/FONT]
            [FONT=Menlo][SIZE=11px]        min_sun_altitude = 26[/SIZE][/FONT]
            [FONT=Menlo][SIZE=11px]        min_sun_azimut = 95[/SIZE][/FONT]
            [FONT=Menlo][SIZE=11px]        max_sun_azimut = 265[/SIZE][/FONT]
            [FONT=Menlo][SIZE=11px]        agemin_sunlight = 600[/SIZE][/FONT]
            [FONT=Menlo][SIZE=11px]      [[[[leave_azimut]]]][/SIZE][/FONT]
           ...
          Es läuft alles aber sunlight und agemin_sunlight geht nicht. Das Item steht nicht im LOG.

          Gruss Andreas

          Kommentar


            Zitat von McTao Beitrag anzeigen
            habe jetzt versucht das mit dem Helligkeitsgrenzwert umzusetzen. Habe allerdings kein eval, sondern eine Logik verwendet. Aber irgendwie geht mein item_XXXX nicht.

            ich habe mal den Code angehängt, aber das Item wird in der AutoBlind-Log nicht angezeigt:

            [...]

            Es läuft alles aber sunlight und agemin_sunlight geht nicht. Das Item steht nicht im LOG.
            Ich habe da noch einen Bug entdeckt. Wenn zu einer Bedingung nur "agemin" und/oder "agemax" geprüft wird, wird die Bedingung fälschlicherweise als unvollständig rausgecheckt. Ich werde da gleich einen Fix auf GitHub pushen.
            Von der Logik her, solltest du aber sicherlich noch den Wert von "item_sunlight" prüfen, denn sonst löst die Bedingung auch aus, wenn es 10 Minuten dunkler als dein Grenzwert ist. (Aber gut, dass du das nicht gemacht hast, sonst wäre der Bug nämlich nicht aufgefallen )

            Grüße
            offline

            Kommentar


              Hallo,

              ich habe jetzt auch endlich mal Zeit gehabt, das Plugin zu testen, allerdings habe ich einige Fragen.
              Ich habe den Thread zwar verfolgt, wollte die Installation / Konfiguration aber nur anhand der Doku auf Github machen. Ich nutze den Develop Zweig und heute morgen ausgecheckt.
              Meine Test-Config:
              Code:
              [autoblind]
                  [[default]]            
                      as_item_temperature = Aussen.temperatur
                      as_item_brightness = Raffstore.helligkeit
                      [[[night]]]
                          name = Nacht
                          as_set_height = 100
                          as_set_lamella = 0
                          [[[[enter]]]]
                              as_max_brightness = 20
                              as_min_time = 08:00
                              as_max_time = 16:00
                              as_negate_time = True
                      [[[suntracking]]]
                          name =  "Tag (Beschattung)"
                          [[[[enter]]]]
                              as_min_brightness = 45000
                              as_min_sun_azimut = 100
                              as_max_sun_azimut = 270
                              as_min_sun_altitude = 25
                              as_min_temperature = 24
                           [[[[leave_todark]]]]
                              as_max_brightness = 30000
                              as_min_delay = 1800
                           [[[[leave_azimut]]]]
                              as_min_sun_azimut = 100
                              as_max_sun_azimut = 245
                              as_negate_sun_azimut = True                 
                      [[[day]]]
                          name = "Tag"
                          as_set_height = value:0
                          as_set_lamella = 100
              
                  [[EG]]
                      [[[wohnzimmer]]]
                          [[[[schiebetuer_rechts]]]]
                              type = bool
                              name = EG Wohnzimmer Schiebetür rechts
                              as_plugin = active
                              as_lock_item = EG.wohnzimmer.raffstore.schiebetuer_rechts.auto_lock
                              as_suspend_item = EG.wohnzimmer.raffstore.schiebetuer_rechts.auto_suspend
                              as_suspend_time = 7200
                              as_suspend_watch = EG.wohnzimmer.raffstore.schiebetuer_rechts.updown | EG.wohnzimmer.raffstore.schiebetuer_rechts.stepstop
                              as_laststate_item_id = EG.wohnzimmer.raffstore.schiebetuer_rechts.auto_laststate_id
                              as_laststate_item_name = EG.wohnzimmer.raffstore.schiebetuer_rechts.auto_laststate_name        
                              as_item_height = EG.wohnzimmer.raffstore.schiebetuer_rechts.height
                              as_item_lamella = EG.wohnzimmer.raffstore.schiebetuer_rechts.lamella
                              [[[[[night]]]]]
                                  as_use = autoblind.default.night
                              [[[[[suntracking]]]]]
                                  as_use = autoblind.default.suntracking
                              [[[[[day]]]]]
                                  as_use = autoblind.default.day
              
              [EG]
                  [[wohnzimmer]]
                      [[[raffstore]]]
                          [[[[schiebetuer_rechts]]]]
                              name = "Raffstore EG Wohnzimmer Schiebetür rechts"
                              [[[[[auto_lock]]]]]
                                  type = bool
                                  visu_acl = rw
                                  cache = on
                              [[[[[auto_suspend]]]]]
                                  type = bool
                                  visu_acl = r  
                              [[[[[auto_laststate_id]]]]]
                                  type = str
                                  visu_acl = r
                                  cache = on
                              [[[[[auto_laststate_name]]]]]
                                  type = str
                                  visu_acl = r
                                  cache = on
                              [[[[[updown]]]]]
                                  type = bool
                                  knx_dpt = 1
                                  knx_send = 3/1/6
                                  visu_acl = rw
                                  enforce_updates = yes
                              [[[[[stepstop]]]]]
                                  type = bool
                                  knx_dpt = 1
                                  knx_send = 3/2/6
                                  visu_acl = rw
                                  enforce_updates = yes
                              [[[[[height]]]]]
                                  type = num
                                  knx_dpt = 5.001
                                  knx_send = 3/3/6
                                  knx_cache = 3/3/6
                                  visu_acl = rw
                                  enforce_updates = yes
                              [[[[[lamella]]]]]
                                  type = num
                                  knx_dpt = 5.001
                                  knx_send = 3/4/6
                                  knx_cache = 3/4/6
                                  visu_acl = rw
              Einige Fragen / Anmerkungen:
              • Wenn ich "as_plugin = active " verwende, bekomme ich immer die Fehlermeldung
                Code:
                 	2015-07-18 12:18:39,846 INFO     autoblind    Complete AutoBlind items -- __init__.py:run:76
                  	2015-07-18 12:18:39,846 INFO     autoblind    AutoBlind deactivated because no items have been found. -- __init__.py:run:93
              • Wenn ich dann "autoblind_plugin = active" hinzufüge, dann erkennt er schon mehr, aber es tut trotzdem nicht
                Code:
                 	2015-07-18 12:14:45,455 INFO     autoblind    Complete AutoBlind items -- __init__.py:run:76
                  	2015-07-18 12:14:45,456 ERROR    autoblind    autoblind.EG.wohnzimmer.schiebetuer_rechts: Item does not have an item for 'active' configured! -- __init__.py:run:83
                  	2015-07-18 12:14:45,456 INFO     autoblind    AutoBlind deactivated because no items have been found. -- __init__.py:run:93

              Hier muss doch irgendwo noch ein versteckter Wurm bei mir enthalten sein. Habt Ihr Ideen, wo ich noch schauen könnte?

              Dann habe ich noch eine Frage zur Struktur:
              • Unter [EG][wohnzimmer]... bilde ich meine Raffstore-Struktur ab und füge einige auto_... für autoblind hinzu => ok
              • Unter [autoblind] habe ich dann meinen Default. => ok
              • In der Readme wurde dann aber [myFirstAutoBlindControlledObject] auf die erste Ebene definiert. Ich würde das eher unter [autoblind] sehen, so wie ich das in meinem Beispiel probiert hatte. Wie macht Ihr das? Ich möchte ungern 18 zusätzliche Top-Level Items haben.
              Vielen Dank für Eure Hilfe
              hhhc
              ++ Der ultimative ETS Schnellkurs ++
              KNX und die ETS vom Profi lernen
              www.ets-schnellkurs.de

              Kommentar


                Hallo zusammen,

                ich würde gerne möglichst viel über die Visu einstellen können. Dafür ist item: hilfreich. Zumindest bei den numerischen Items.
                Aber bei min_time oder max_time scheint das nicht zu klappen:

                Code:
                as_min_time = item:DG.Rollo.Fenster.auto_min_time
                as_max_time = item:DG.Rollo.Fenster.auto_max_time
                Die Frage ist jetzt, geht das? Ich habe es so

                Code:
                 [[[[auto_min_time]]]]
                     type = str
                     visu_acl = rw
                     value = 22:00
                versucht, aber mit dem type str bekomme ich (verständlicherweise) eine Fehlermeldung:

                Code:
                toBlindItem.AbItem object at 0xb35150ec>>: unorderable types: datetime.time() < str() -- item.py:__update:377
                Oder gibt es eine andere Möglichkeit?

                Kommentar


                  Zitat von hhhc Beitrag anzeigen
                  Ich habe den Thread zwar verfolgt, wollte die Installation / Konfiguration aber nur anhand der Doku auf Github machen. Ich nutze den Develop Zweig und heute morgen ausgecheckt.
                  Meine Test-Config:
                  [...]
                  Hier muss doch irgendwo noch ein versteckter Wurm bei mir enthalten sein. Habt Ihr Ideen, wo ich noch schauen könnte?
                  Ich habe an deiner Config soweit keinen Fehler entdecken können. Ich habe deine Konfig mal in meiner Testumgebung reinkopiert und da hat sie direkt funktioniert. Hast du smarthome.py mal auf der Kommandozeile im Debug-Modus ausgeführt (bin/smarthome.py -d) und geschaut, ob es ggf. noch Fehlermeldungen gibt?

                  Zitat von hhhc Beitrag anzeigen
                  Dann habe ich noch eine Frage zur Struktur:
                  • Unter [EG][wohnzimmer]... bilde ich meine Raffstore-Struktur ab und füge einige auto_... für autoblind hinzu => ok
                  • Unter [autoblind] habe ich dann meinen Default. => ok
                  • In der Readme wurde dann aber [myFirstAutoBlindControlledObject] auf die erste Ebene definiert. Ich würde das eher unter [autoblind] sehen, so wie ich das in meinem Beispiel probiert hatte. Wie macht Ihr das? Ich möchte ungern 18 zusätzliche Top-Level Items haben.

                  Die Objekt-Items kannst du auf beliebiger Ebene haben. Wichtig ist nur dass du ein "type = bool" und "as_plugin = active" drin hast, damit das Plugin sie wahrnimmt. Außerdem muss natürlich die Struktur unterhalb des Objekt-Items passen.

                  Grüße
                  offline

                  Kommentar


                    Zitat von jonah64 Beitrag anzeigen
                    ich würde gerne möglichst viel über die Visu einstellen können. Dafür ist item: hilfreich. Zumindest bei den numerischen Items.
                    Aber bei min_time oder max_time scheint das nicht zu klappen:
                    [...]
                    versucht, aber mit dem type str bekomme ich (verständlicherweise) eine Fehlermeldung:

                    Code:
                    toBlindItem.AbItem object at 0xb35150ec>>: unorderable types: datetime.time() < str() -- item.py:__update:377
                    Oder gibt es eine andere Möglichkeit?
                    Damit das klappt muss noch eine Konvertierung eingebaut werden. Das sollte aber machbar sein. Ich werde mir das die Tage mal anschauen.

                    Grüße
                    offline

                    Kommentar


                      Zitat von offline Beitrag anzeigen
                      Damit das klappt muss noch eine Konvertierung eingebaut werden. Das sollte aber machbar sein. Ich werde mir das die Tage mal anschauen.
                      Ich habe eine Änderung auf GitHub gepusht. Die sollte das Problem beheben.

                      Grüße
                      offline

                      Kommentar


                        Zitat von offline Beitrag anzeigen
                        Ich habe eine Änderung auf GitHub gepusht. Die sollte das Problem beheben.
                        Prima, funktioniert!
                        Vielen Dank für diesen Fix und generell für das super Plugin!
                        Gruss Jonah

                        Kommentar


                          Super, vielen Dank für die Idee und auch die prompte Reaktion.. Jonah - wärst du vielleicht so nett, deinen VISU Code hier zu posten, den du zum Setzen der Zeit nutzt? Hast du dich da am UZSU-Widget bedient?

                          Vielen Dank!

                          Kommentar


                            Hallo Onkelandy,

                            ich habe in der Visu mit https://knx-user-forum.de/360453-post5.html herumgespielt. Sieht noch nicht hübsch aus, funktioniert aber. Erstmal muss ich die Funktionalität des Plugins bei mir implementieren, dann kümmere ich mich um die schöne Darstellung.

                            Interessiert mich aber auch, wie Ihr die Darstellung in SmartVisu realisiert habt....

                            Kommentar


                              Bei mir tut es nun auch. Problem war fehlendes Git-Verständnis (hatte das Plugin vor einiger Zeit ausgecheckt und beim Umsetllen auf Develop waren die Dateien zwar da, aber nicht aktualisiert worden, ein einfaches git pull hat geholfen...).

                              Inwiefern nutzt Ihr / funktioniert cache=on bei den Items auto_suspend etc? Ist wahrscheinlich im Praxisbetrieb weniger relevant, aber bei mir werden die Werte trotz gesetztem Cache nicht gelesen und beim Neustart von Smarthome zurückgesetzt.
                              ++ Der ultimative ETS Schnellkurs ++
                              KNX und die ETS vom Profi lernen
                              www.ets-schnellkurs.de

                              Kommentar


                                Hi, meiner Meinung nach sollte auto_suspend nicht mit cache laufen, da es ja ein Status ist. Gruß Waldemar
                                OpenKNX www.openknx.de

                                Kommentar

                                Lädt...
                                X