Ankündigung

Einklappen
Keine Ankündigung bisher.

AutoBlind-Plugin-Special: Tipps und Tricks

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

    #16
    Ja, genau. So sollte es funktionieren Grüße Offline

    Kommentar


      #17
      Zu früh gefreut...
      das Schalten meiner Pumpe nach 14 Tagen funktioniert noch nicht bzw. sie bleibt immer an

      Im Log habe ich folgenden Fehler:
      HTML-Code:
      2015-09-28 21:32:04.709608 Check if state 'EG.wohnen.kaminofen.umwaelzpumpe.fest_werden_verhindern' ('Bewegungsfahrt Umwälzpumpe Kaminofen') can be entered:
      2015-09-28 21:32:04.709637     Check condition set 'enter':
      2015-09-28 21:32:04.709663         condition'umwaelzpumpe_an': Ignoring because of error:
      Die Items dazu sehen so aus:
      HTML-Code:
      [EG]
          [[wohnen]]
              [[[kaminofen]]]
                  [[[[umwaelzpumpe]]]]
                      name = Kaminofen Umwälzpumpe
                      type = bool
                      as_plugin = active
                      cycle = 86400
                      eval_trigger = EG.wohnen.temperatur.wassertasche
                      as_laststate_item_id = EG.wohnen.kaminofen.umwaelzpumpe.auto_laststate_id
                      as_laststate_item_name = EG.wohnen.kaminofen.umwaelzpumpe.auto_laststate_name        
                      as_item_umwaelzpumpe_an = EG.wohnen.kaminofen.umwaelzpumpe.an
                      as_item_temperature = EG.wohnen.temperatur.wassertasche
                      [[[[[temperatur_erreicht]]]]]
                          name = "Wassertasche Temperatur erreicht"
                          as_set_umwaelzpumpe_an = 1
                          [[[[[[enter]]]]]]
                              as_min_temperature = eval:sh.EG.wohnen.temperatur.wassertasche.max()
                          [[[[[[leave]]]]]]
                              as_max_temperature = eval:sh.EG.wohnen.temperatur.wassertasche.min()
             
                      [[[[[fest_werden_verhindern]]]]]
                          name = "Bewegungsfahrt Umwälzpumpe Kaminofen"
                          as_set_umwaelzpumpe_an = 1
                          [[[[[[enter]]]]]]
                              as_agemin_umwaelzpumpe_an = eval:86400*14
                          [[[[[[leave]]]]]]
                              as_agemin_umwaelzpumpe_an = 15
                      [[[[[aus]]]]]
                          name = "Umwälzpumpe Kaminofen aus"
                          as_set_umwaelzpumpe_an = 0
      Ich komm einfach nicht dahinter was da schief läuft... eigentlich sollte sie ja erst Einschalten wenn sie 14 Tage nicht gelaufen ist und dann nach 15 Sekunden wieder aus.
      Aber leider läuft sie mit dieser Konfi ständig, auch ein auskommentieren des "fest_werden_verhindern/leave"-Items ändert das nicht...
      Zitat von offline Beitrag anzeigen
      ...habe ein eval für as_min_(Bedingung), as_max_(Bedingung) und as_value_(Bedingung) eingebaut und in den Zweig "feature-condition-eval" gepusht. Für die drei genannten Attribute kann man nun den Wert "eval: (Formel)" angeben. In Post #7 müsste es dementsprechend dann heißen
      Code:
      as_agemin_umwaelzpumpe_an = eval: 86400 * 14
      Danke, konnte ich gleich gebrauchen.
      cu Yfkt5A
      DALI(ABB DG/S1.1), KODI Odroid, TrueNAS, Zehnder ComfoAir 200 L Luxe
      microk8s-Cluster: HomeAssistant, MusicAssistant, mosquitto, TVHeadend, jellyfin

      Kommentar


        #18
        @nEiMi: Hast Du es auch mal ohne dem eval, enfach mit dem ausgerechneten Wert probiert?

        @offline: Du widersprichst Dir so ein bisschen: Hast Du es nur für as_min_(Bedingung), as_max_(Bedingung) und as_value_(Bedingung) eingebaut? Dann würde es ja für as_agemin_(Bedingung) nicht zur Verfügung stehen und der obige Fehler wäre erklärbar. Oder hast Du es für alle 5 Attribute (also auch noch für as_agemin_(Bedingung) und as_agemax_(Bedingung)) eingebaut?

        Gruß, Waldemar
        OpenKNX www.openknx.de

        Kommentar


          #19
          Hi zusammen,

          Zitat von mumpf Beitrag anzeigen
          @offline: Du widersprichst Dir so ein bisschen: Hast Du es nur für as_min_(Bedingung), as_max_(Bedingung) und as_value_(Bedingung) eingebaut? Dann würde es ja für as_agemin_(Bedingung) nicht zur Verfügung stehen und der obige Fehler wäre erklärbar. Oder hast Du es für alle 5 Attribute (also auch noch für as_agemin_(Bedingung) und as_agemax_(Bedingung)) eingebaut?
          In der Tat war das nur für as_min, as_max und as_value eingebaut. Ich habe es nun auch für as_agemin und as_agemax eingebaut. Der Fix ist in den develop-Zweig auf GitHub gepusht. Für as_agemin und as_agemax können nun alle Möglichkeiten zur Wertangabe verwendet werden, die auch für die anderen drei Attribute gehen (value:, item:, eval: )

          Grüße
          Thomas

          Kommentar


            #20
            Funktioniert jetzt wie gewünscht...
            Code:
            2015-10-02 23:45:46.366382         Condition Set 'enter':
            2015-10-02 23:45:46.366407             Condition 'umwaelzpumpe_an':
            2015-10-02 23:45:46.366438                 item: EG.wohnen.kaminofen.umwaelzpumpe.an
            2015-10-02 23:45:46.366464                 negate: False
            2015-10-02 23:45:46.366489                 agemin from eval: 86400*14
            .
            .
            .
            2015-10-02 23:45:56.765378         Age of 'umwaelzpumpe_an': min=1209600 max=None negate=None current=10.448172
            2015-10-02 23:45:56.765425             to young -> not matching
            Danke
            cu Yfkt5A
            DALI(ABB DG/S1.1), KODI Odroid, TrueNAS, Zehnder ComfoAir 200 L Luxe
            microk8s-Cluster: HomeAssistant, MusicAssistant, mosquitto, TVHeadend, jellyfin

            Kommentar


              #21
              Automatisches Entsperren am Abend bzw. in der Nacht
              Da ich das gerade bei mir umgesetzt habe und auch eine kleine Frage dazu habe, poste ich das gerade mal
              Ich möchte, dass in der Nacht die Jalousien alle brav in den Nachtzustand schalten, auch wenn sie zuvor im Suspend Mode waren. Normalerweise sollen ja die Jalousien bei Dunkelheit tatsächlich zu gehen, auch wenn man kurze Zeit zuvor die Dinger manuell verändert hat. Dazu nutze ich folgendes Setup:

              Code:
              ['jalousien']
                  [['nachtaktiv']]
                  type = foo
                  visu_acl = r
                  enforce_updates = true
                  cache = True
              
                  as_plugin = active
                  name='Nachtmodus Jalousie'
                  as_lock_item =  jalousien.nachtaktiv.autostate_lock
                  as_laststate_item_id = jalousien.nachtaktiv.autostate_id
                  as_laststate_item_name = jalousien.nachtaktiv.autostate_name
                  as_item_autolock = jalousien.automatik_lock
                  eval_trigger=jalousien.automatik_lock | autoblind.jalousietrigger
                          [[[autostate_lock]]]
                              type = bool
                              visu_acl = rw
                              cache = on
                              knx_dpt = 1
                              knx_listen = x/x/x
                              enforce_updates = true
                          [[[autostate_id]]]
                              type = str
                              visu_acl = r
                              cache = on
                          [[[autostate_name]]]
                              type = str
                              visu_acl = r  
                          [[[night]]]
                              type = foo
                              as_use = autoblind.default.night
                              enforce_updates = true
                              as_set_autolock = value:0
                              as_byattr_suspendoff = jalousie_lock_off
                          [[[day]]]
                              type = foo
                              as_use = autoblind.default.day
                              enforce_updates = true
              Möchte man das Ganze nur 1 Mal ausführen lassen, könnte man das repeat_actions deaktivieren.
              In den Jalousie Items, die dadurch "resettet" werden sollen, steht dann Folgendes drin:
              Code:
                          [[[autostate_lock]]]
                              type = bool
                              visu_acl = rw
                              cache = on
                              knx_dpt = 1
                              knx_listen = x/x/x
                              enforce_updates = true
                              jalousie_lock_on = 1
                              jalousie_lock_off = 0
              Problem dabei ist, dass beim Ausschalten des Lock-Items auch gesperrte Jalousien fahren und nicht nur supsendete. Wem das egal ist, kommt mit obigem Setup zum Ziel. Alternativ ist es nötig, anstatt des byattr die einzelnen Lockitems auf den gerade aktuellen Wert zu stellen.
              Zuletzt geändert von Onkelandy; 16.12.2015, 12:26.

              Kommentar


                #22
                Autoblind für die Lichtsteuerung (?)

                Hi Leute! Ich benutze seit einiger Zeit bei mir die "Sollwert"-Funktion meiner KNX Bewegungsmelder. Wird ein Sektor des BWM getriggert, werden die entsprechenden Leuchten auf einen vom KNX gesetzten Wert gedimmt. Ursprünglich hatte ich für ein speziell gedimmtes Nachtlicht eine eigene Logik, die jetzt durch das Autoblind Plugin abgelöst wurde. Die Idee war, verschiedene Situationen sowohl für Licht als auch Steckdosen abzubilden. Konkret habe ich das soweit für folgende Varianten umgesetzt:
                - Nachtmodus: bestimmte Lichter sind gesperrt, die meisten massiv gedimmt. Außerdem sind die Nachlaufzeiten recht kurz
                - Morgen/Mittag/Abend: Da ich im Wohn- und Essbereich kalt- und warmweiße Leuchten habe, möchte ich hier an den verschiedenen Tageszeiten unterschiedliche Farbtemperaturen erzeugen. Prinzipiell sollte auch die Intensität der Außenhelligkeit angepasst werden. Das muss ich mir noch im Detail ansehen.
                - TV / Kino: bestimmte BWM sollten eine deutlich geringere Reichweite und Nachlaufzeit haben, außerdem an manchen Stellen nur sehr minimalistische Intensität.
                - Advent: bestimmte Steckdosen schalten die Weihnachtsbeleuchtung, und zwar nur vom 1.12. bis 15.1., ohne, dass man jemals irgendwas einstellen müsste. Selbes Spiel mit verschiedenen Lichtern, die tendenziell auf warmweiß und eher gedimmt sind. RGB LED Leisten laufen normalerweise im Sequencer Modus sehr langsam zwischen den verschiedenen Farbkombinationen hin und her, im Advent dezidiert nur im rot/orange/warmweiß-Bereich.

                Das Coole an der Autoblind Herangehensweise ist auch, dass alle Situationen jederzeit über die Visu konfiguriert und somit individuell optimiert werden können, ohne ewig mit Neustarts und Logiken rumprobieren zu müssen.

                Ich hätte jetzt noch eine Reihe anderer Situationen wie "Duschen", "Lesen", "Arbeiten", "Putzen", "Party", etc., die sich natürlich meist nur auf bestimmte Bereiche und somit 2, 3 Leuchten beziehen. Ich bin mir jetzt noch nicht ganz sicher, was hier am sinnvollsten ist... Wie handhabt ihr das? Habt ihr klassische Szenen im Dimmaktor/DALI Gateway hinterlegt, die ihr ansteuert? Logiken hinterlegt? Wer hat das auch mit Autoblind umgesetzt und welche Ideen und Tipps hättet ihr noch? Was passiert bei euch, wenn ein Licht mal durch einen Taster geschaltet wird - Suspendmode, Lock des BWM, Lock des Aktors,...? Könnt ihr über Schalter auch den Suspend Mode wieder beenden (z.B. durch Doppelklick?)?

                Freue mich über eine kleine Diskussion.
                onkelandy

                Kommentar


                  #23
                  Hi,

                  ist ja spannend... Ich nutze auch autoblind für recht viele Dinge - auch Licht - allerdings bin ich da noch am Anfang. Meine weitgehend fertigen Lösungen sind die für Rolläden, Zirkulationspumpe und Garagentor. Bei Licht verfolge ich folgende Grundideen:
                  • Es gibt in jedem Raum ein Hauptlicht (das muss nicht das hellste/größte oder so sein, es ist das, was wir manuell am häufigsten einschalten würden)
                  • Es gibt in jedem Raum einen Trigger für's Hauptlicht (das kann ein PM sein, eine Taste, eine Tür - technisch eine GA vom type bool)
                  • Einschalt-Trigger für Hauptlicht geht an autoblind, dort wird versucht, das passende Licht einzuschalten
                    • Wenn schon Licht an ist, dann ist gut - mach nichts, User ist mit der aktuellen Situation zufrieden.
                    • Dann kommen viele Regeln (noch nicht alle implementiert), die von der Tageszeit, Raum, Szenen (schlafen, Nacht, fernsehen) abhängig sind und das "passende" Licht einschalten
                    • Der default-Zustand für Einschalten (wenn keine andere Regel gewonnen hat) ist "Hauptlicht einschlten"
                  • Ausschalt-Trigger für Hauptlicht geht auch an Autoblind, da ist das Regelwerk (derzeit) simpel: Es werden alle Lichter im Raum ausgeschaltet.
                  Zitat von Onkelandy Beitrag anzeigen
                  - Nachtmodus: bestimmte Lichter sind gesperrt, die meisten massiv gedimmt. Außerdem sind die Nachlaufzeiten recht kurz
                  Das mach ich auch, die Änderung der Nachlaufzeiten ist ne gute Idee!

                  Zitat von Onkelandy Beitrag anzeigen
                  - Advent: bestimmte Steckdosen schalten die Weihnachtsbeleuchtung, und zwar nur vom 1.12. bis 15.1., ohne, dass man jemals irgendwas einstellen müsste.
                  Bei mir genau so, nur bis zum 31.1.

                  Zitat von Onkelandy Beitrag anzeigen
                  Das Coole an der Autoblind Herangehensweise ist auch, dass alle Situationen jederzeit über die Visu konfiguriert und somit individuell optimiert werden können, ohne ewig mit Neustarts und Logiken rumprobieren zu müssen.
                  Hier bin ich voll bei Dir, das ist echt Klasse. Ganz nebenbei ist es wesentlich übersichtlicher als Logiken in externen files und durch die regelbasierte Herangehensweise auch weniger Fehleranfällig. Das tolle Logging erlaubt zudem auch noch eine schnelle Fehleranalyse.


                  Zitat von Onkelandy Beitrag anzeigen
                  Wie handhabt ihr das? Habt ihr klassische Szenen im Dimmaktor/DALI Gateway hinterlegt, die ihr ansteuert?
                  Teilweise! Immer wenn ich der Meinung bin, dass eine Funktion auch ohne Server per Taste direkt schaltbar sein sollte, dann wird sie auch direkt per Szene (rein mit KNX-Mitteln) angelegt und autoblind nimmt dann nur den Zustand an. Beispiel hier: "Wohnbereich alles aus" ist eine Szene, die alles Licht in Küche, Wohn- und Esszimmer ausschaltet und Orientierungslicher anmacht (die dann per PM ausgeschaltet werden). Das hab ich in KNX und autoblind folgt nur dieser Szene, um im "richtigen" Zustand zu sein für Folgeaktivitäten. Will ich eben auch nutzen können, wenn der Server mal ausfällt.

                  Zitat von Onkelandy Beitrag anzeigen
                  Logiken hinterlegt?
                  Nein, möglichst nicht. Ich versuche aktiv, alle Logiken los zu werden. Es bleiben nur Sachen übrig, die für die Systemintegration notwendig sind, wie z.B. die eKey-Anbindung.

                  Zitat von Onkelandy Beitrag anzeigen
                  Wer hat das auch mit Autoblind umgesetzt und welche Ideen und Tipps hättet ihr noch?
                  Sorry, derzeit werde ich Deine Ideen aufgreifen und schauen, was davon bei mir rein passt. Du bist da weiter als ich... also keine Tipps von meiner Seite!

                  Zitat von Onkelandy Beitrag anzeigen
                  Was passiert bei euch, wenn ein Licht mal durch einen Taster geschaltet wird - Suspendmode, Lock des BWM, Lock des Aktors,...? Könnt ihr über Schalter auch den Suspend Mode wieder beenden (z.B. durch Doppelklick?)?
                  Da habe ich meine eigene Ansicht - ich versuche den Suspend vom Autoblind (zumidest für Licht) nicht zu nutzen. Ich mache normalerweise Zustände, in denen Autoblind landet, wenn manuell bedient worden ist. Über age verbleibt dann autoblind ne gewisse Zeit da und kann dann was anderes machen. Vorteil: Wenn sich die Situation ändert und höherrangige Zustände in Frage kommen, werden diese dann angesprungen - im Suspend-Mode verbaue ich mir diese Möglichkeit. Deswegen muss ich auch nicht den Suspend-Mode ausschalten...

                  Gruß, Waldemar

                  OpenKNX www.openknx.de

                  Kommentar


                    #24
                    Ich bin auch kurz davor, Licht und Steckdosen über das Plugin zu implementieren und Skripte/Logiken zu reduzieren. Das Plugin lässt da wirklich viel Raum für Ideen und komplexe Zustände.
                    Trotzdem habe ich wichtige Funktionen nativ auf dem KNX realisiert und auch noch eine Art Notlauf für Dinge implementiert, die auch ohne Plugin bzw. RPI laufen sollen. Insbesondere für die Rolläden habe ich für die Beschattung ein Not-Programm und Überhitzungsschutz nativ auf den KNX-Komponenten.
                    Ansatz ist alles wichtige und Grundfunktionen nativ auf den KNX-Komponenten implementieren, Komfortfunktionen macht SH.py und "übersteuert" den Bus.
                    Das Suspend vom Plugin nutze ich ebenfalls nicht- aus ähnlichen Beweggründen wie Waldemar. Bei den Rolläden nutze ich in der Hinsicht die Aktor Funktionen, welcher dann nach manueller Bedienung für eine Bestimmte Zeit einfach nicht auf die Automatikwerte reagiert.

                    Gruss
                    Jochen.

                    Kommentar

                    Lädt...
                    X