Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Bug in eval_trigger & enforce_updates ???

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

    - √ - Bug in eval_trigger & enforce_updates ???

    Hallo Marcus,

    ich nutze das Squeezebox-Plugin um mir Speichertemperatur und Aussentemperatur im Bad anzeigen zu lassen. Dazu nutze ich die eh schon vorhandenen Taster für die Spots in der Decke und das Spiegellicht.

    Ziel:
    Drücken auf den Taster zeigt mir die entsprechende Temperatur im Radio an.
    Dabei möchte ich natürlich wenn das Licht aus ist nicht extra dafür das Licht anschalten oder eben umgedreht. Ist das Licht aus dann drücke ich den Taster nochmals auf aus und die Temperatur wird angezeigt. Ist das Licht an drücke ich nochmal auf an und die Temperatur wird angezeigt. Beide male soll sich nichts an der Beleuchtungssituation ändern.

    Ist:
    Wenn das Licht aus ist kann ich mehrfach auf "Aus" drücken und die Temperatur wird angezeigt. Wenn das Licht an ist passiert leider nichts im Display. Im Busmonitor sehe ich die entsprechenden 0/1-Telegramme aber alle.
    Kurz: "Aus" funktioniert aber "An" nicht.

    Hier mal die entsprechenden config Auszüge.
    Code:
    [Squeezebox]
      [[Display_Speicher]]
        type = str
        enforce_updates = true
        squeezebox_send = <playerid> show line1:Speichertemperatur line2:{} centered:1 duration:10
        eval = str(int(sh.ow.WP_WW_SP()))+' C Grad'
        eval_trigger = og.bad.licht_spots.switch
      [[Display_Aussen]]
        type = str
        enforce_updates = true
        squeezebox_send = <playerid> show line1:Aussentemperatur line2:{} centered:1 duration:10
        eval = str(int(sh.ow.AT_Nord()))+' C Grad'
        eval_trigger = og.bad.licht_spiegel.switch
    Code:
    [og]
        [[bad]]
            [[[licht_spiegel]]]
                [[[[switch]]]]
                    type = bool
                    knx_dpt = 1
                    knx_send = 1/2/35
                    knx_listen = 1/2/36
                    knx_init = 1/2/36
                    visu = yes
                    enforce_updates =  True
            [[[licht_spots]]]
                [[[[switch]]]]
                    type = bool
                    knx_dpt = 1
                    knx_send = 1/2/100
                    knx_listen = 1/2/101
                    knx_init = 1/2/101
                    visu = yes
                    enforce_updates =  True
    Ich find einfach den Fehler nicht. Was bei "Aus" funktioniert muss doch auch bei "An" funktioneren ?

    Gruß Mirko
    Umgezogen? Ja! ... Fertig? Nein!
    Baustelle 2.0 !

    #2
    Hi Mirko,

    hast Du dazu bitte mal ein Debug-Log mit der Zeitspanne der Aktionen?

    Bis bald

    Marcus

    Kommentar


      #3
      Hallo Mirko,

      muss es nicht enforce_updates = on heißen?

      Gruß
      Peter

      Kommentar


        #4
        Muss ich anfertigen.
        Umgezogen? Ja! ... Fertig? Nein!
        Baustelle 2.0 !

        Kommentar


          #5
          Nur mal die relevanten Zeilen ... bin mir ziemlich sicher nichts wichtiges gelöscht zu haben. Mein ebus-Plugin spammt da z.Zt. nur so viel rum das wären locker 200 Zeilen mehr gewesen

          Licht war aus, hab dann zwei mal auf Aus gedrückt, danach zweimal auf An nach 5 Minuten ein drittes mal auf An.

          Code:
          [COLOR="Red"]2013-09-19 17:30:53,411 Main         INFO     knx: 1.1.5 set 1/2/35 to 0 -- __init__.py:parse_telegram:187[/COLOR]
          2013-09-19 17:30:53,439 Main         INFO     knx: 1.1.200 set 1/2/36 to False -- __init__.py:parse_telegram:196
          2013-09-19 17:30:53,441 Main         DEBUG    og.bad.licht_spiegel.switch = False via KNX 1.1.200 -- item.py:_update:239
          2013-09-19 17:30:53,447 Main         DEBUG    Triggering Squeezebox.Display_Aussen - by: KNX source: 1.1.200 dest: 1/2/36 value: {'source': 'og.bad.licht_spiegel.switch' -- scheduler.py:trigger:123
          2013-09-19 17:30:53,465 Squeezebox.Display_Aussen DEBUG    Squeezebox.Display_Aussen = 13 C Grad via Eval og.bad.licht_spiegel.switch -- item.py:_update:239
          2013-09-19 17:30:53,468 Squeezebox.Display_Aussen DEBUG    Sending request: 00%3A04%3A20%3A1f%3A92%3Ac4 show line1:Aussentemperatur line2:13%20C%20Grad centered:1 duration:10 -- __init__.py:_send:127
          2013-09-19 17:31:03,488 Main         DEBUG    Got: ['00:04:20:1f:92:c4', 'show', 'line1:Aussentemperatur', 'line2:13 C Grad', 'centered:1', 'duration:10'] -- __init__.py:_parse_response:132
          [COLOR="red"]2013-09-19 17:31:05,912 Main         INFO     knx: 1.1.5 set 1/2/35 to 0 -- __init__.py:parse_telegram:187[/COLOR]
          2013-09-19 17:31:05,939 Main         INFO     knx: 1.1.200 set 1/2/36 to False -- __init__.py:parse_telegram:196
          2013-09-19 17:31:05,941 Main         DEBUG    og.bad.licht_spiegel.switch = False via KNX 1.1.200 -- item.py:_update:239
          2013-09-19 17:31:05,944 Main         DEBUG    Triggering Squeezebox.Display_Aussen - by: KNX source: 1.1.200 dest: 1/2/36 value: {'source': 'og.bad.licht_spiegel.switch' -- scheduler.py:trigger:123
          2013-09-19 17:31:05,982 Squeezebox.Display_Aussen DEBUG    Squeezebox.Display_Aussen = 13 C Grad via Eval og.bad.licht_spiegel.switch -- item.py:_update:239
          2013-09-19 17:31:05,984 Squeezebox.Display_Aussen DEBUG    Sending request: 00%3A04%3A20%3A1f%3A92%3Ac4 show line1:Aussentemperatur line2:13%20C%20Grad centered:1 duration:10 -- __init__.py:_send:127
          2013-09-19 17:31:16,000 Main         DEBUG    Got: ['00:04:20:1f:92:c4', 'show', 'line1:Aussentemperatur', 'line2:13 C Grad', 'centered:1', 'duration:10'] -- __init__.py:_parse_response:132
          [COLOR="red"]2013-09-19 17:31:16,913 Main         INFO     knx: 1.1.5 set 1/2/35 to 1 -- __init__.py:parse_telegram:187[/COLOR]
          2013-09-19 17:31:16,942 Main         INFO     knx: 1.1.200 set 1/2/36 to True -- __init__.py:parse_telegram:196
          2013-09-19 17:31:16,944 Main         DEBUG    og.bad.licht_spiegel.switch = True via KNX 1.1.200 -- item.py:_update:239
          2013-09-19 17:31:16,948 Main         DEBUG    Triggering Squeezebox.Display_Aussen - by: KNX source: 1.1.200 dest: 1/2/36 value: {'source': 'og.bad.licht_spiegel.switch' -- scheduler.py:trigger:123
          2013-09-19 17:31:16,966 Squeezebox.Display_Aussen DEBUG    Squeezebox.Display_Aussen = 13 C Grad via Eval og.bad.licht_spiegel.switch -- item.py:_update:239
          2013-09-19 17:31:16,967 Squeezebox.Display_Aussen DEBUG    Sending request: 00%3A04%3A20%3A1f%3A92%3Ac4 show line1:Aussentemperatur line2:13%20C%20Grad centered:1 duration:10 -- __init__.py:_send:127
          2013-09-19 17:31:17,135 Main         INFO     knx: 1.1.200 set 1/2/38 to 25 -- __init__.py:parse_telegram:196
          2013-09-19 17:31:17,137 Main         DEBUG    og.bad.licht_spiegel.dim = 25 via KNX 1.1.200 -- item.py:_update:239
          2013-09-19 17:31:17,335 Main         INFO     knx: 1.1.200 set 1/2/38 to 50 -- __init__.py:parse_telegram:196
          2013-09-19 17:31:17,337 Main         DEBUG    og.bad.licht_spiegel.dim = 50 via KNX 1.1.200 -- item.py:_update:239
          2013-09-19 17:31:17,535 Main         INFO     knx: 1.1.200 set 1/2/38 to 76 -- __init__.py:parse_telegram:196
          2013-09-19 17:31:17,537 Main         DEBUG    og.bad.licht_spiegel.dim = 76 via KNX 1.1.200 -- item.py:_update:239
          2013-09-19 17:31:17,738 Main         INFO     knx: 1.1.200 set 1/2/38 to 101 -- __init__.py:parse_telegram:196
          2013-09-19 17:31:17,739 Main         DEBUG    og.bad.licht_spiegel.dim = 101 via KNX 1.1.200 -- item.py:_update:239
          2013-09-19 17:31:17,928 Main         INFO     knx: 1.1.200 set 1/2/38 to 127 -- __init__.py:parse_telegram:196
          2013-09-19 17:31:17,929 Main         DEBUG    og.bad.licht_spiegel.dim = 127 via KNX 1.1.200 -- item.py:_update:239
          2013-09-19 17:31:26,978 Main         DEBUG    Got: ['00:04:20:1f:92:c4', 'show', 'line1:Aussentemperatur', 'line2:13 C Grad', 'centered:1', 'duration:10'] -- __init__.py:_parse_response:132
          [COLOR="red"]2013-09-19 17:31:28,639 Main         INFO     knx: 1.1.5 set 1/2/35 to 1 -- __init__.py:parse_telegram:187[/COLOR]
          [COLOR="red"]2013-09-19 17:36:52,103 Main         INFO     knx: 1.1.5 set 1/2/35 to 1 -- __init__.py:parse_telegram:187[/COLOR]


          P.S.: Deine Version hoffe ich am WE endlich testen zu können.
          Umgezogen? Ja! ... Fertig? Nein!
          Baustelle 2.0 !

          Kommentar


            #6
            Hi Mirko,

            Mensch da suche ich einen Fehler bei mir in der SW, dabei ist er bei Dir in der Config bzw. Installation :-)

            Dein Sensor (1.1.5) schickt die 1 ja an die 1/2/35. Auf die hörst Du aber gar nicht. Du hörst auf die 36 und an die wird nichts mehr verschickt, wenn er bereits an ist. Er verschickt das nur immer für die 0.

            Ich würde den beiden SB-Items einfach ein knx_listen = 1/2/35 spendieren und das eval_trigger entfernen. Dann sollte das flutschen.

            Bis bald

            Marcus

            Kommentar


              #7
              Du hast Recht, da muss ich mir die Rückmeldungen im Aktor nochmal ansehen. Komisch dass er die 0 wiederholt, die 1 aber nicht.

              Deine vorgeschlagene Lösung klingt gut. Bin ich froh dass der Fehler wenigstens nicht allzu offensichtlich war .

              Danke
              Umgezogen? Ja! ... Fertig? Nein!
              Baustelle 2.0 !

              Kommentar


                #8
                Soeben getestet:
                Code:
                [Squeezebox]
                  [[Display_Aussen]]
                    type = str
                    knx_dpt = 1
                    knx_listen = 1/2/35
                    enforce_updates = true
                    squeezebox_send = <playerid> show line1:Aussentemperatur line2:{} centered:1 duration:10
                    eval = str(int(sh.ow.AT_Nord()))+' C Grad'
                Code:
                2013-09-20 17:21:47,564 Main         ERROR    Item 'Squeezebox.Display_Aussen': value (True) does not match type (str). Via KNX 1.1.253 -- item.py:__call__:217
                Logisch dass ein DPT 1 kein String ist, da fällt wohl das eval auf die Nase ... und nun ? Irgendwie steh ich aufm Schlauch obwohl ich nicht mal sagen kann dass das Verhalten von sh.py falsch ist.
                Umgezogen? Ja! ... Fertig? Nein!
                Baustelle 2.0 !

                Kommentar


                  #9
                  Hi Mirko,

                  probier mal dpt 4002.

                  Bis bald

                  Marcus

                  Kommentar


                    #10
                    Den mag er
                    Umgezogen? Ja! ... Fertig? Nein!
                    Baustelle 2.0 !

                    Kommentar

                    Lädt...
                    X