Ankündigung

Einklappen
Keine Ankündigung bisher.

Logik "Nachtlicht" funktioniert nicht

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

    Logik "Nachtlicht" funktioniert nicht

    Hi Leute..
    ich versteh einfach nicht warum das nicht geht.

    Folgendes will ich realisieren:
    Ich stell über die SV über das UZSU Plugin eine Uhrzeit und einen Dimmwert ein. Bei erreichen
    dieser Uhrzeit soll im Flur nur noch das Licht auf den eingestellten Dimmwert gehen.

    haben tu ich schon folgendes:
    logic.conf:
    Code:
    [Logic_OGFlurNachtmodus]
        filename = nachtlicht.py
        watch_item = OG.FlurOG.DeckenlichtFlurOG
    ###################################################
    [Logic_EGFlurNachtmodus]
        filename = nachtlicht.py
        watch_item = EG.FlurEG.DeckenlichtFlurEG
    nachtlicht.py
    Code:
    if logic.name == 'Logic_OGFlurNachtmodus' and trigger['value'] == True:
        sh.OG.FlurOG.DeckenlichtFlurOG.dimmen(sh.EG.FlurEG.Dimmwert())
        logger.info(logic.name + ' aktiv, Licht OG xx% Nachtmodus')
        exit()
    elif logic.name == 'Logic_EGFlurNachtmodus' and trigger['value'] == True:
        sh.OG.FlurOG.DeckenlichtFlurOG.dimmen(sh.EG.FlurEG.Dimmwert())
        sh.EG.FlurEG.DeckenlichtFlurEG.dimmen(sh.EG.FlurEG.Dimmwert())
        logger.info(logic.name + ' aktiv, Licht EG/OG xx% Nachtmodus')
        exit()
    items.conf
    Code:
    [EG]
    [[FlurEG]]
            name = FlurEG
            sv_page = room
            sv_img = light_pendant_light.png
         [[[Schaltuhr]]]
              type=dict
              uzsu_item=EG.FlurEG.Dimmwert
              cache=True
              visu_acl=rw
         [[[Dimmwert]]]
                  type = num
                  visu = yes
                  knx_dpt = 5001
            [[[DeckenlichtFlurEG]]]
                    name = DeckenlichtFlurEG
                    type = bool
                    visu_acl = rw
                    knx_dpt = 1
            enforce_updates = true
                    knx_listen = 0/1/10
                    knx_send = 0/1/10
                [[[[dimmen]]]]
                  type = num
                  visu = yes
                  knx_dpt = 5001
                  knx_listen = 0/1/38
                  knx_send = 0/1/32
    Das zeigt mir die sh.cli Bereich.png


    also der Trigger (DeckenlichtFlurEG) = True und der Dimmwert steht auf 30...

    Leider wird das Licht nicht gedimmt..

    wenn ich up EG.FlurEG.DeckenlichtFlurEG.dimmen = 50 setze dimmt er das Licht, deswegen geh ich davon aus,
    das alle Items passen ! (zumindest die zuweisung zu den GA's)

    Das Log ist komplett leer.. also es werden keine Fehler angezeigt.. deswegen kann ich hier auch nichts
    posten..

    Jemand ne Idee ??

    Gruß Martin
    Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

    #2
    Hallo,

    Zitat von Brick Beitrag anzeigen
    Das Log ist komplett leer.. also es werden keine Fehler angezeigt.. deswegen kann ich hier auch nichts
    posten..
    sorry, das ist Quatsch. Im Debuglog stehen Informationen die einem Helfen zu verstehen was bei Dir passiert.

    Bis bald

    Marcus

    Kommentar


      #3
      Bitte:
      Logik hab ich um .. hmm.. 18.00 Uhr scharf geschaltet.. hab aber der vollständigkeit halber den Fehler von 16.00 Uhr
      hier mit kopiert..
      so sieht mein aktuelles Log aus..

      Code:
      2015-03-18 15:57:58 ERROR    Main         Exception: expected an indented block (simplelogics.py, line 20)
      Traceback (most recent call last):
        File "/usr/local/smarthome/lib/logic.py", line 120, in generate_bytecode
          self.bytecode = compile(code, self.filename, 'exec')
        File "/usr/local/smarthome/logics/simplelogics.py", line 20
          i = 0
          ^
      IndentationError: expected an indented block
      Init SmartHome.py 1.0-35-gf62db45+
      Init SmartHome.py 1.0-35-gf62db45+
      hab um 18.00 uhr und kurz danach nochmal sh.py neu gestartet.. wie man sieht..

      Kann man das noch anpassen ? das mehr dargestellt wird ?
      Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

      Kommentar


        #4
        hab grad gesehen.. im OG funktioniert es.. also Trigger BWM EG dimmt OG.. aber nicht im EG..
        werd mir jetzt noch mal die Items und die GA's ansehen.. vielleicht liegts ja da dran.. wär aber komisch..

        Gruß Martin
        Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

        Kommentar


          #5
          Zitat von Brick Beitrag anzeigen
          Kann man das noch anpassen ? das mehr dargestellt wird ?
          https://knx-user-forum.de/forum/supp...fehlerbehebung

          Kommentar


            #6
            so.. jetzt bekomm ich bessere anzeigen im Log:

            Code:
            2015-03-19 08:50:29 INFO     Logic_EGFlurNachtmodus Item EG.FlurEG.DeckenlichtFlurEG.dimmen = 30 via Logic None None
            2015-03-19 08:50:29 INFO     Logic_EGFlurNachtmodus Logic_EGFlurNachtmodus aktiv, Licht EG/OG xx% Nachtmodus
            irgendwas stimmt mit meinem Startskript noch nicht.. wenn ich smarthome.py von Hand starte, bekomm ich die Infos
            im Log.. beim Systemstart nicht..

            muss ich mir mal ansehen..

            den Fehler glaub ich hab ich gefunden.. hier hat ein anderes System bzw. eine ungünstige parametrierung die Finger im
            Spiel gehabt..

            Hier mal die bei mir funktionierende Logik:
            Code:
            if logic.name == 'Logic_OGFlurNachtmodus' and trigger['value'] == True:
                sh.OG.FlurOG.DeckenlichtFlurOG.dimmen(sh.EG.FlurEG.Dimmwert())
                logger.info(logic.name + ' aktiv, Licht OG xx% Nachtmodus')
                exit()
            elif logic.name == 'Logic_EGFlurNachtmodus' and trigger['value'] == True:
                sh.EG.FlurEG.DeckenlichtFlurEG.dimmen(sh.EG.FlurEG.Dimmwert())
                logger.info(logic.name + ' aktiv, Licht EG/OG xx% Nachtmodus')
                exit()
            elif logic.name == 'Logic_OGFlurNachtmodus' and trigger['value'] == False:
                sh.OG.FlurOG.DeckenlichtFlurOG.dimmen(0)
                logger.info(logic.name + ' aktiv, Licht OG ausgeschaltet')
                exit()
            elif logic.name == 'Logic_EGFlurNachtmodus' and trigger['value'] == False:
                sh.EG.FlurEG.DeckenlichtFlurEG.dimmen(0)
                sh.OG.FlurOG.DeckenlichtFlurOG.dimmen(0)
                logger.info(logic.name + ' aktiv, Licht EG/OG ausgeschaltet')
                exit()


            Gruß und Dank

            Martin

            Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

            Kommentar


              #7
              so.. hab jetzt noch ein bisschen getestet..
              Also es funktioniert ... EIGENTLICH.. leider nicht immer.. und das ist das was ich nicht verstehe...

              Das Problem ist, das das Licht im OG nicht immer korrekt gedimmt wird.. (meist aber schon .. so 7/10)
              im EG funktioniert es perfekt. Im OG geht, beim auslösen des BWM das Licht manchmal auf den eingestellten
              Dimmwert an, wenn dann meine Frau eine Min später am BWM vorbei geht, geht das Licht manchmal auf
              100% an.. Manchmal geht es auch gleich beim ersten mal auf 100% an.. usw.. ich hab leider noch keine
              Logik rausgelesen woran das liegen könnte...

              in beiden Etagen EG/OG sind identische Dimmer verbaut, die identisch parametriert sind.. nur der BWM ist
              ein anderer.. aber nachdem dieser ja nur ein EIN/AUS in die GA sendet denk ich nicht das dieser die Ursache ist.

              hier der auszug aus dem Log:
              Code:
              2015-03-25 22:43:32 INFO     Main         Item Temperatur.EG.FlurEG = 20.2 via KNX 1.2.8 1/1/3
              2015-03-25 22:43:37 INFO     Main         Item EG.FlurEG.DeckenlichtFlurEG = True via KNX 1.2.9 0/1/10
              2015-03-25 22:43:37 INFO     Logic_EGFlurNachtmodus Item EG.FlurEG.DeckenlichtFlurEG.dimmen = 60 via Logic None None
              2015-03-25 22:43:37 INFO     Logic_EGFlurNachtmodus Item OG.FlurOG.DeckenlichtFlurOG.dimmen = 60 via Logic None None
              2015-03-25 22:43:37 INFO     Logic_EGFlurNachtmodus Logic_EGFlurNachtmodus aktiv, Licht EG/OG  Nachtmodus
              2015-03-25 22:43:41 INFO     Logic_Wetter {datetime.datetime(2015, 3, 26, 18, 0, tzinfo=tzfile('/usr/share/zoneinfo/Europe/Berlin')): ['9', 'leichter Regen', ''], ...
              sieht korrekt aus...
              eine Minute später dann das:

              Code:
              2015-03-25 22:44:08 INFO     Main         Item OG.FlurOG.DeckenlichtFlurOG = True via KNX 1.3.3 0/2/12
              2015-03-25 22:44:08 INFO     Logic_OGFlurNachtmodus Logic_OGFlurNachtmodus aktiv, Licht OG  Nachtmodus
              2015-03-25 22:44:08 INFO     Main         Item OG.FlurOG.DeckenlichtFlurOG.dimmen = 100.0 via KNX 1.3.6 0/2/28
              2015-03-25 22:44:12 INFO     Main         Item Temperatur.EG.FlurEG = 20.0 via KNX 1.2.8 1/1/3
              sieht so aus als würde die Logik nicht greifen, oder ?


              um 20 Uhr hat es aber funktioniert:

              Code:
              2015-03-25 20:05:02 INFO     Main         Item KG.Strommessung.GesAkt = 584.96 via KNX 0.0.0 6/3/0
              2015-03-25 20:05:03 INFO     Main         Item Temperatur.OG.BadEltern = 21.8 via KNX 1.3.5 1/2/13
              2015-03-25 20:05:05 INFO     Main         Item OG.FlurOG.DeckenlichtFlurOG = True via KNX 1.3.3 0/2/12
              2015-03-25 20:05:05 INFO     Logic_OGFlurNachtmodus Item OG.FlurOG.DeckenlichtFlurOG.dimmen = 80 via Logic None None
              2015-03-25 20:05:05 INFO     Logic_OGFlurNachtmodus Logic_OGFlurNachtmodus aktiv, Licht OG  Nachtmodus
              2015-03-25 20:05:05 INFO     Main         Item KG.Heizraum.Pellets.VL = 39.6 via KNX 1.3.48 1/3/10
              2015-03-25 20:05:05 INFO     Main         Item OG.FlurOG.DeckenlichtFlurOG.dimmen = 100.0 via KNX 1.3.6 0/2/28
              2015-03-25 20:05:05 INFO     Main         Item OG.FlurOG.DeckenlichtFlurOG.dimmen = 80.0 via KNX 1.3.6 0/2/28
              2015-03-25 20:05:06 INFO     Main         Item KG.Heizraum.Pellets.RL = 30.2 via KNX 1.3.48 1/3/11
              hier nochmal die Items:
              Code:
               
              [EG]
              [[FlurEG]]
                      name = FlurEG
                      sv_page = room
                      sv_img = light_pendant_light.png
                   [[[Schaltuhr]]]
                        type=dict
                        uzsu_item=EG.FlurEG.Dimmwert
                        cache = True
                        visu_acl = rw
                   [[[Dimmwert]]]
                            type = num
                            visu = yes
                      cache = True
                        sqlite = yes
                             sqlite = init
                            knx_dpt = 5
                      [[[DeckenlichtFlurEG]]]
                              name = DeckenlichtFlurEG
                              type = bool
                              visu_acl = rw
                              knx_dpt = 1
                      enforce_updates = true
                              knx_listen = 0/1/10
                              knx_send = 0/1/10
                          [[[[dimmen]]]]
                            type = num
                            visu = yes
                            knx_dpt = 5001
                            knx_listen = 0/1/38
                            knx_send = 0/1/32 
              [OG]
                  [[FlurOG]]
                          name = FlurOG
                          sv_page = room
                          sv_img = light_pendant_light.png
                  [[[DeckenlichtFlurOG]]]
                              name = DeckenlichtFlurOG
                              type = bool
                              visu_acl = rw
                              knx_dpt = 1
                      enforce_updates = true
                              knx_listen = 0/2/12
                              knx_send = 0/2/12
                          [[[[dimmen]]]]
                            type = num
                            visu = yes
                            knx_dpt = 5001
                            knx_listen = 0/2/28
                            knx_send = 0/2/22
              dann nochmal die Logik:

              Code:
              if logic.name == 'Logic_OGFlurNachtmodus' and trigger['value'] == True:
                  time.sleep(0.1)
                  sh.OG.FlurOG.DeckenlichtFlurOG.dimmen(sh.EG.FlurEG.Dimmwert())
                  logger.info(logic.name + ' aktiv, Licht OG  Nachtmodus')
                  exit()
              elif logic.name == 'Logic_EGFlurNachtmodus' and trigger['value'] == True:
                  sh.EG.FlurEG.DeckenlichtFlurEG.dimmen(sh.EG.FlurEG.Dimmwert())
                  sh.OG.FlurOG.DeckenlichtFlurOG.dimmen(sh.EG.FlurEG.Dimmwert())
                  logger.info(logic.name + ' aktiv, Licht EG/OG  Nachtmodus')
                  exit()
              elif logic.name == 'Logic_OGFlurNachtmodus' and trigger['value'] == False:
                  sh.OG.FlurOG.DeckenlichtFlurOG.dimmen(0)
                  logger.info(logic.name + ' Licht OG ausgeschaltet')
                  exit()
              elif logic.name == 'Logic_EGFlurNachtmodus' and trigger['value'] == False:
                  sh.EG.FlurEG.DeckenlichtFlurEG.dimmen(0)
                  sh.OG.FlurOG.DeckenlichtFlurOG.dimmen(0)
                  logger.info(logic.name +  'Licht EG/OG ausgeschaltet')
                  exit()
              ich hab da mal ein kleines time.sleep eingebaut, weil ich zuerst dachte, das es vielleicht
              ein Timingproblem sei.. brachte aber keine Besserung..

              und der Aufruf in der logic.py

              Code:
              [Logic_OGFlurNachtmodus]
                  filename = nachtlicht.py
                  watch_item = OG.FlurOG.DeckenlichtFlurOG
              ###################################################
              [Logic_EGFlurNachtmodus]
                  filename = nachtlicht.py
                  watch_item = EG.FlurEG.DeckenlichtFlurEG
              hoff ich hab nichts vergessen..

              Gruß Martin

              Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

              Kommentar


                #8
                Hallo,

                wieso kommst Du darauf das die Logik nicht greift? Der Logeintrag wird doch angezeigt.
                Vllt. ist
                "sh.OG.FlurOG.DeckenlichtFlurOG.dimmen"
                ja bereits 60? Evtl. enforce_updates aktivieren.

                Und bitte beim nächsten Mal ein Debuglog einfügen. Irgendwie blöd wenn ich das immer schreiben muss.

                Bis bald

                Marcus

                Kommentar


                  #9
                  lief halt nicht im Debug-Modus.. Nachträglich eher schwer dran zu kommen.. oder ?

                  werd mal das enforce_updates reinmachen.. mal schaun ob das hilft..

                  wenn ich das richtig verstehe, führt er mir ohne das enforce_updates den Befehl nicht nochmal aus,
                  wenn der Wert bereits der gewünschte ist ?? das würde es erklären warum es nicht immer funktioniert !

                  Danke für den Hinweis !

                  (und sorry, wenn dir manche Fragen lästig erscheinen.. es ist halt noch kein Meister vom Himmel gefallen
                  und vieles ist mir hier noch unklar !)

                  Gruß Martin
                  Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

                  Kommentar


                    #10
                    seh grad, weil ichs einstellen wollt.. enforce_update = true hab ich doch schon drin !?!?!

                    du meinst schon bei den Trigger Items ? oder wo soll das sonst rein ?
                    Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

                    Kommentar


                      #11
                      so.. hab jetzt bei
                      EG.FlurEG.DeckenlichtFlurEG.dimmen und das gleiche bei OG das enforce_update drin.. jetzt scheint es zu gehen..

                      Danke für die Hilfe !!

                      Gruß Martin


                      Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

                      Kommentar


                        #12
                        Hallo,

                        ja, ich meinte bei den dimm-Items. Schön das es läuft.

                        Bis bald

                        Marcus

                        Kommentar

                        Lädt...
                        X