Ankündigung

Einklappen
Keine Ankündigung bisher.

Automatische Beschattung

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

    Hi Markus,

    ich weiß zwar nicht, wie es jetzt ist, aber in der Entstehungszeit des Manuell-Items wurde dieses beim Parsen immer angepasst, sinngemäß ist
    Code:
    eval = not self()
    (also bei jeglichem triggern wird der Wert vom Manuell-Item negiert). Und da sich dann immer der Wert ändert, muss auch kein enforce_updates da rein, da das ja nur wirkt, wenn sich der Wert nicht ändert.

    Ich denke, dass das Verhalten prinzipiell immer noch so ist, eventuell sind im Laufe der Zeit noch ein paar "Tricks" dazugekommen.

    Gruß, Waldemar
    OpenKNX www.openknx.de

    Kommentar


      Genau, wie mumpf schreibt, wechselt das Manuell Item bei jeder Betätigung den Status, daher kein Enforce_update.
      Das eval selbst läuft ja im Plugin, daher braucht es auch kein or.

      Übernimm einfach mein Beispiel, läuft seit Jahresbeginn sauber.

      Kommentar


        Ich komme irgendwie nicht weiter. Vorab zur info: ich nutze aktuellen develop checkout.

        Suspend funktioniert, wenn ich z.B. über das suspend Item direkt ein true setze. Timeout, etc. läuft alles.

        Das Problem liegt darin, dass move, stop, pos das manuell item nicht triggern. Hier der code-schnipsel für ein spezielles Fenster:

        Code:
        [[[[[[manuell]]]]]]
          name = Manuelle Bedienung
          type = bool
          eval_trigger = EG.office.window.shutter.move | EG.office.window.shutter.stop | EG.office.window.shutter.pos
          as_manual_exclude = KNX:1.0.8 | Init:*
          as_manual_invert = true
        im CLI habe ich z.B. eine move initiiert und dann das item diagnostiziert:

        Code:
        CLI > ii EG.office.window.shutter.move
        Item EG.office.window.shutter.move {
          type: bool
          value: True
          age: 906.953654
          ...
        das manuell item hingegen bleibt unverändert, was die fehlende Reaktion von autoblind auch erklären könnte:

        Code:
        CLI > ii EG.office.window.shutter.auto.manuell
        Item EG.office.window.shutter.auto.manuell {
          type: bool
          value: False
          age: 347332.793781
          ...
        Was übersehe ich? Andere eval oder eval_trigger funktionieren...

        Kommentar


          Füg deinem Manuell-Item mal ein

          as_manual_logitem= EG.office.window.shutter.auto.manuell

          hinzu, dann siehst du im entsprechenden Logfile (im autoblind log-Ordner), ob, wann und wie das getriggert wird und woran es haken könnte.
          Ich hab im Plugin.conf auch noch die Attribute gesetzt:
          log_level= 2
          log_directory= var/log/autoblind/

          Kommentar


            Loglevel, etc. passt alles, aber ich bekomme keine Log Meldung, da das manuell item gar nicht verändert wird... ich bin ratlos....
            setze ich über CLI z.B.
            EG.office.window.shutter.move fährt der Rolladen, aber das manuell item wird nicht getriggert... somit kein suspend bzw. log-Eintrag...

            Kommentar


              Hi gama ,

              mir würden noch ein paar Sachen einfallen, um das Problem einzukreisen:
              • as_manual_exclude rausnehmen und testen, ob es das Seiteneffekte gab,
              • as_manual_invert rausnehmen und gleicher Test.
              • Ein anderes Item anlegen und genau so wie das manuell-Item von move, stop und pos triggern lassen und schauen, ob nur das manuell-Item oder auch das neue Item nicht getriggert wird. Daran kann man erkennen, ob es eher am manuell-Item (also am Ziel des Triggers) oder an der Trigger-Quelle (also am move, stop bzw. pos) liegt.
              • Nochmal checken, dass move und stop ein enforce_updates gesetzt haben (wobei das nicht das Problem sein sollte, das stellt ja nur sicher, dass manuell auch erkannt wird, wenn man mehrmals hintereinander move=1 auf dem Bus hat).
              • Und - der Vollständigkeit halber: Ist das hier angegebene
                Zitat von gama Beitrag anzeigen
                [[[[[[manuell]]]]]]
                wirklich das
                Zitat von gama Beitrag anzeigen
                EG.office.window.shutter.auto.manuell
                , oder hast Du Dich doch im Pfad vertan?
              Gruß, Waldemar
              OpenKNX www.openknx.de

              Kommentar


                Hi, habe ich alles probiert...

                Das Problem lässt sich mittlerweile soweit einkreisen, dass es ohne "eval = ... " zu keiner Änderung kommt und somit die eval_trigger = .. Funktion ohne Bedeutung ist.

                Kommentar


                  Ah!

                  Dann hast Du autoblind nicht angegeben, welches Item das manuell-Item ist.
                  Ich nutze schon länger kein shNG.py und somit auch kein Autoblind, deswegen weiß ich die Syntax nicht aus dem Kopf. Aber damit autoblind die Verwaltung vom manuell-Item übernehmen kann, musst Du irgendwo so was wie as_manual_item = ... haben. Schau mal in der Doku. Das ist Dein Problem.

                  Gruß, Waldemar
                  OpenKNX www.openknx.de

                  Kommentar


                    Ich habe im default Zweig eine Zuweisung per "as_item_manuell = ..manuell". Reicht das?

                    Kommentar


                      Hi,

                      das kann ich nicht sagen. Du hast da eine relative Adresse angegeben, Du musst wissen, ob ..manuell Deinem Item EG.office.window.shutter.auto.manuell entspricht. Soweit ich mich erinnere, wird beim Startup im log immer der aufgelöste Name des Items ausgegeben, da sollte dann
                      Code:
                      as_item_manuell = EG.office.window.shutter.auto.manuell
                      stehen. Wenn nicht, dann musst Du deinen relativen Pfad entsprechend anpassen.

                      Gruß, Waldemar

                      OpenKNX www.openknx.de

                      Kommentar


                        Jetzt wo ich das nochmal lese: heißt es vielleicht
                        Code:
                        as_item_manual
                        Wie gesagt, ich weiß es nicht mehr, aber das wäre ein klassischer Tippfehler.

                        Gruß Waldemar
                        OpenKNX www.openknx.de

                        Kommentar


                          Bedauerlicherweise steht in der Doku nicht darüber drin...
                          https://github.com/i-am-offline/smar...uspend-Manuell
                          Im Code werde ich auch nicht fündig, es gibt anscheinend eine manual_item_update_eval() Funktion, welche ein eigenes eval aufruft, sofern in der Item-Config as_manual_include oder as_manual_exclude gesetzt sind...

                          Kommentar


                            Hi,

                            Du solltest erstmal herausfinden, ob meine Behauptung stimmt und es am as_item_manual liegt.
                            Füge bitte in dem rules item einfach ein as_item_manual = EG.office.window.shutter.auto.manuell ein. Also mit absolutem Pfad. Dann siehst Du, ob das manuell-Item getriggert wird. Dann kannst Du Dich immer noch damit beschäftigen, wie Du es relativ adressiert.

                            Gruß, Waldemar

                            OpenKNX www.openknx.de

                            Kommentar


                              Hi, das habe ich gemacht. Leider ohne Reaktion. Das Item EG.office.window.shutter.auto.manuell reagiert einfach nicht auf trigger... und bleibt unverändert...

                              Kommentar


                                Hier noch der Status nachdem ich das Stop Item gesetzt habe:

                                Code:
                                CLI > ii EG.office.window.shutter.auto.manuell
                                
                                Item EG.office.window.shutter.auto.manuell {
                                
                                  type: bool
                                
                                  value: False
                                
                                  age: 59.320292
                                
                                  last_change: 2017-11-21 13:52:22.134839+01:00
                                
                                  changed_by: Init:None
                                
                                  previous_value: False
                                
                                  previous_age: -0.001543
                                
                                  previous_change: 2017-11-21 13:52:22.136382+01:00
                                
                                  config: {
                                
                                    as_manual_exclude: ['KNX:1.0.8', 'Init:*']
                                
                                    as_manual_logitem: EG.office.window.shutter.auto.manuell
                                
                                  }
                                
                                  logics: [
                                
                                  ]
                                
                                  triggers: [
                                
                                    <bound method WebSocket.update_item of <plugins.visu_websocket.WebSocket object at 0x72447290>>
                                
                                  ]
                                
                                }

                                Kommentar

                                Lädt...
                                X