Ankündigung

Einklappen
Keine Ankündigung bisher.

Automatische Beschattung

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

  • mumpf
    antwortet
    Hi Thomas,

    nochmal danke für die Zeit mit Doppelpunkt - auch wenn es nur eine Kleinigkeit ist, mir hilft sie, Tippfehler zu vermeiden.
    Da Du sowieso vieles neu machst, wollte ich 2 sporadische Probleme ansprechen:
    1. Startup mit vielen AutoBlind-Items
    2. cycle mit vielen AutoBlind-Items
    Ich habe hier derzeit 22 AutoBlind-Items am laufen. Sowohl beim starten von sh.py wie auch bei einem cycle, der viele Zustände ändert (z.B. Abends alle Rollos runter) schleichen sich Fehler ein, die an zu vielen versendeten Nachrichten auf dem Bus liegen. Dann ist der Zustand vom AutoBlind nicht mehr in sync mit der Realität (z.B. Rollo ist noch oben, aber AutoBlind ist im Zustand "unten"). Das mag am eibd liegen, aber ich habe bisher keinerlei Konfiguration gefunden, die das Problem behebt (mir sind entsprechende Threads bekannt).

    Auch im Hinblick auf eine allgemeine Zustandsmaschine sollte es nicht mehr einen "globalen" cycle geben, sondern einzelne pro AutoBlind-Item (idealerweise mit cycle = 0). Und für den sh.py Start würde ich mir eine Art "delay" wünschen, so dass man pro AutoBlind-Item einstellen kann, wie lange nach dem sh.py-Start sich das Item das erste mal initialisiert. Ein solches Konzept würde auch meine Probleme lösen.

    Ich weiß nicht, ob und wie so was realisierbar ist und auch nicht, wie schwer das ist, aber ich wollte das als Denkanstoß mal loswerden.

    Danke für Dein tolles Plugin und gute Nacht,
    Waldemar

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Cool!
    Bin schon gespannt - biete mich gerne als Tester an!
    Gruß, Waldemar

    Einen Kommentar schreiben:


  • offline
    antwortet
    Hi,

    dann auch mal ein paar Infos von mir: Ich baue gerade einiges um, im Hinblick auf die Erweiterung des Plugins zu einem allgemeine verwendbaren Zustandsautomaten.
    Dabei ergeben sich zunächst einige kleinere Änderungen:
    • Standardtrennzeichen für Zeitangaben ist in Zukunft der Doppelpunkt. Das Komma wird aber vorerst weiterhin unterstützt
    • Einige Bedingungen (time, sun_azimut, weekday) konnten bisher mit min > max definiert werden. Das wird in Zukunft nicht mehr gehen.
    • Als Ersatz dafür wird es die Möglichkeit geben, Bedingungen zu negieren. (aus min=22:00, max=08:00 wird dann min=08:00, max=22:00, negate=True)

    Diese Dinge sind bereits soweit fertig, im Moment räume ich noch im Coding auf und teste das ganze. Das wird in den nächsten Tagen fertig sein, dann werde ich zuerst den aktuellen develop-Stand in den master-Branch übernehmen und anschließend die Neuerungen in den develop-Branch mergen.

    Im nächsten Schritt ist geplant, dass zu jeder Position beliebig viele Items auf beliebige Werte (statisch oder dynamisch) gesetzt werden können. Außerdem sollen beispielsweise Logiken getriggert werden können. Hierbei wird es weitere Änderungen geben, die eine Anpassung der bisher verwendeten Konfiguration erforderlich machen. Wahrscheinlich wird die feste Ankopplung an in Item mit Sub-Items für "hoehe" und "lamelle" sowie die Angabe der Zielposition entfallen. Das hat jedoch den Vorteil, dass man die gesamte Beschattungssteuerung zusammen (beispielsweise in einer .conf-Datei) haben kann und nicht über alle Jalousieitems verteilen muss.

    Grüße
    offline

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Zitat von offline Beitrag anzeigen
    :
    Push in den develop-Zweig auf GitHub ist erfolgt.
    Hi,

    wollte nur mal feedback geben, dass seit dem Update - mit der neuen Protokollversion - mein Fehler nicht mehr auftaucht. Das kann allerdings auch daran liegen, dass meine Frau im Urlaub ist und ich die Rolläden kaum manuell fahre...
    Ich beobachte mal weiter...

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • McTao
    antwortet
    Hi mumpf,

    Zitat von mumpf Beitrag anzeigen
    Und - nur zur Sicherheit: Du verwendest die develop-Version vom Plugin?
    Das war es. Ich habe ein Git auf meiner Synologie, damit ich auch die item/plugin/logic-conf Dateien sichere. Und da war das mit dem checkout eines Submodules irgendwie nicht richtig. Jetzt im develop-Zweig geht es wie erwartet.

    Gruss Andreas

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Und - nur zur Sicherheit: Du verwendest die develop-Version vom Plugin? Soweit ich mich erinnere, ist watch_manual in der master noch nicht drin.
    Sonst sieht das nämlich ganz vernünftig aus und ich erkenne keine Fehler...

    Schau doch mal, was das AutoBlind log sagt, da steht drin, wenn die Jalousie manuell gefahren wurde.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • McTao
    antwortet
    Zitat von mumpf Beitrag anzeigen
    Hi, So auf den ersten Blick: Dein watch_manual bezieht sich auf Fenster, im log hast Du aber die Tür drin. Das passt natürlich nicht zusammen. Gruß Waldemar
    Danke, das war es leider nicht. Den gleichen Eintrag gibt es auch für Fenster. Ich war im Log nur um 10 Zeilen verrutscht.

    Gruss Andreas

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi, So auf den ersten Blick: Dein watch_manual bezieht sich auf Fenster, im log hast Du aber die Tür drin. Das passt natürlich nicht zusammen. Gruß Waldemar

    Einen Kommentar schreiben:


  • McTao
    antwortet
    Welchen Wert muss watch_item haben, bzw wie kann ich das nutzen?

    ich habe das watch_item benutzt, um den move Befehl zu beobachten. Bei mir wird im move ein True/False gesendet. Aber die Jalousien fahren trotz manueller Betätigung.

    Ich habe mal die Config und einen Auszug aus dem Log angehängt:

    Code:
    [autoblind]
    type=foo
        [[default]]
            type=foo
            [[[night]]]
                type = foo
                name = Nacht
                position = 100,0
                [[[[enter]]]]
                    type = foo
           [[[day]]]
                type = foo
                name = Tag (statisch)
                position = 0,0
                [[[[enter]]]]
                    type = foo
                    min_time = 8,0
                    max_time = 22,0
           [[[suntrack_south]]]
                type = foo
                name = Sueden (Sonnenstand)
                position = 100,0
                [[[[enter]]]]
                    type = foo
                    min_sun_altitude = 26
                    min_sun_azimut = 95
                    max_sun_azimut = 265
            [[[suntrack_east]]]
                 type = foo
                 name = Osten (Sonnenstand)
                 position = 100,0
                 [[[[enter]]]]
                     type = foo
                     min_sun_altitude = 26
                     min_sun_azimut = 78
                     max_sun_azimut = 170
            [[[suntrack_west]]]
                 type = foo
                 name = Westen (Sonnenstand)
                 position = 100,0
                 [[[[enter]]]]
                     type = foo
                     min_sun_altitude = 22
                     min_sun_azimut = 178
                     max_sun_azimut = 300
    
    [eg]
      name = Erdgeschoss
      [[esszimmer]]
        [[[jalousie]]]
          [[[[Fenster]]]]
        name = Fensterjalousie
            [[[[[AutoBlind]]]]]
              type = foo
               watch_manual = eg.esszimmer.jalousie.Fenster.move
              [[[[[[active]]]]]]
                type = bool
                knx_dpt = 1
                knx_listen = 7/0/6
                knx_init = 7/0/6
                visu_acl = rw
                cache = on
              [[[[[[lastpos_id]]]]]]
                type = str
                visu_acl = r
                cache = on
              [[[[[[lastpos_name]]]]]]
                type = str
                visu_acl = r
                cache = on
              [[[[[[suntrack]]]]]]
                type = foo
                use = autoblind.default.suntrack_east
              [[[[[[Day]]]]]]
                type = foo
                use = autoblind.default.day
    
            [[[[[move]]]]]
                type = bool
                knx_dpt = 1
                knx_send = 2/2/3
                knx_listen = 2/2/3|6/1/4|6/1/6|6/1/5|6/1/7
                knx_init = 2/2/3
                enforce_updates = yes
            [[[[[stop]]]]]
                type = bool
                knx_dpt = 1
                knx_send = 2/2/1
                knx_listen = 2/2/1
                knx_init = 2/2/1
                enforce_updates = yes
            [[[[[hoehe]]]]]
                type = num
                knx_dpt = 5.001
                visu_acl = rw
                cache = on
            [[[[[lamelle]]]]]
                type = num
                knx_dpt = 5.001
                visu_acl = rw
                cache = on
    Log:
    Code:
     [FONT=Menlo][SIZE=11px]2015-06-17 11:02:39,566 DEBUG    Main         knx: 1.1.13 set 2/1/4 to True -- __init__.py:parse_telegram:198[/SIZE][/FONT]
      [FONT=Menlo][SIZE=11px]2015-06-17 11:02:39,568 DEBUG    Main         Item eg.wohnzimmer.jalousie.Tuer.move = True via KNX 1.1.13 2/1/4 -- item.py:__update:369[/SIZE][/FONT]
      [FONT=Menlo][SIZE=11px]2015-06-17 11:02:39,571 DEBUG    Main         Triggering calcpos - by: Item source: eg.wohnzimmer.jalousie.Tuer.move dest: None value: True -- scheduler.py:trigger:164[/SIZE][/FONT]
      [FONT=Menlo][SIZE=11px]2015-06-17 11:02:39,573 INFO     calcpos      calcpos triggered by eg.wohnzimmer.jalousie.Tuer.move changed by KNX:1.1.13 -- calcpos.py:<module>:10[/SIZE][/FONT]
      [FONT=Menlo][SIZE=11px]2015-06-17 11:02:39,574 INFO     calcpos       move -- calcpos.py:<module>:29[/SIZE][/FONT]
      [FONT=Menlo][SIZE=11px]2015-06-17 11:02:39,576 INFO     calcpos        hoehe 100 -- calcpos.py:<module>:31[/SIZE][/FONT]
      [FONT=Menlo][SIZE=11px]2015-06-17 11:02:39,578 DEBUG    calcpos      Item eg.wohnzimmer.jalousie.Tuer.hoehe = 100 via calcpos calcpos None -- item.py:__update:369[/SIZE][/FONT]
      [FONT=Menlo][SIZE=11px]2015-06-17 11:02:39,580 DEBUG    calcpos      Triggering calcpos - by: Item source: eg.wohnzimmer.jalousie.Tuer.hoehe dest: None value: 100 -- scheduler.py:trigger:164[/SIZE][/FONT]
      [FONT=Menlo][SIZE=11px]2015-06-17 11:02:39,582 INFO     calcpos      calcpos triggered by eg.wohnzimmer.jalousie.Tuer.hoehe changed by calcpos:calcpos -- calcpos.py:<module>:10[/SIZE][/FONT]
      [FONT=Menlo][SIZE=11px]2015-06-17 11:02:42,476 DEBUG    Main         knx: 1.1.13 set 2/1/0 to True -- __init__.py:parse_telegram:198[/SIZE][/FONT]
      [FONT=Menlo][SIZE=11px]2015-06-17 11:02:42,478 DEBUG    Main         Triggering calcpos - by: Item source: eg.wohnzimmer.jalousie.Tuer.stop dest: None value: True -- scheduler.py:trigger:164[/SIZE][/FONT]
      [FONT=Menlo][SIZE=11px]2015-06-17 11:02:42,481 INFO     calcpos      calcpos triggered by eg.wohnzimmer.jalousie.Tuer.stop changed by KNX:1.1.13 -- calcpos.py:<module>:10[/SIZE][/FONT]
    Gruss Andreas

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Zitat von offline Beitrag anzeigen
    Trotzdem sollte im Smarthome.py-Log ein Fehler angezeigt werden, wenn du da einen Wert mit ":" angibst.
    Hi, natürlich kommen Meldungen. Aber ich habe inzwischen ca. 2000 Items, da übersieht man die locker mal. Wie gesagt, es geht nicht um die aktuell Beschäftigung mit deinem Plugin, sondern um zukünftigen Komfort.
    Ist sehr nett, dass du es machst!
    Danke und Gruß,
    Waldes

    Einen Kommentar schreiben:


  • offline
    antwortet
    Zitat von Dragonos2000 Beitrag anzeigen
    @Offline: Hat es einen speziellen Grund, dass Du "watch_Trigger" und "Delay" in eigenen Branches hast?
    Nicht mehr. Beide Features wurden in diesen Branches unabhängig entwickelt. Sie sind aber mittlerweile in den develop-Branch gemerged und werden dort auch weiterentwickelt. Die separaten Branches werde ich bei Gelegenheit auf GitHub löschen.

    @mumpf: Kann ich einbauen. Ist ja wirklich nur eine Kleinigkeit. Trotzdem sollte im Smarthome.py-Log ein Fehler angezeigt werden, wenn du da einen Wert mit ":" angibst.

    Grüße
    offline

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hallo Thomas,

    mir ist noch eine Kleinigkeit eingefallen, die zumindest bei mir bisher zu vielen Fehlersuchen geführt hat und eigentlich nur ein Tippfehler ist: Könntest Du für min_time und max_time noch eine alternative Notation mit ":" zulassen? Also neben "20,25" auch "20:25". Ich weiß, dass ist nicht wirklich wichtig und nur eine Kleinigkeit, aber ich habe schon so oft die Uhrzeit falsch eingetippt und mich dann gewundert, warum es nicht funktioniert...
    Jetzt weiß ich das ja, aber wenn mal alles läuft und ich nicht mehr täglich mit Deinem Plugin zu tun habe und irgendwann mal wieder eine neue Position mit Uhrzeit einführen will, dann ist es sehr wahrscheinlich, dass ich mich da wieder vertippe.
    Ich hab die Stelle im Coding gefunden und würde das notfalls bei mir lokal machen, aber schöner wäre es, wenn es im Standard ist...

    Danke und Gruß,
    Waldemar

    Einen Kommentar schreiben:


  • Dragonos2000
    antwortet
    @Offline: Hat es einen speziellen Grund, dass Du "watch_Trigger" und "Delay" in eigenen Branches hast?

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Vielen Dank,

    werde es heute Abend gleich einbauen und dann mal die Logs analysieren. Mal schauen, ob ich nicht selber schuld bin...

    Danke und Gruß,
    Waldemar

    Einen Kommentar schreiben:


  • offline
    antwortet
    mumpf:
    Zitat von offline Beitrag anzeigen
    Ich baue im Moment das Logging etwas um. Es wird dann im Debug-Modus noch detaillierter geloggt werden. Das sollte helfen, dein Problem zu analysieren.
    Push in den develop-Zweig auf GitHub ist erfolgt.

    Grüße
    offline

    Einen Kommentar schreiben:

Lädt...
X