Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Problem: Initialisierung von Items

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

    - √ - Problem: Initialisierung von Items

    Hallo,

    aktuell versuche ich auf Basis des RasPi-Images (smarthome.py 1.0 / smartvisu 2.7) den Aufbau einer einfachen Visualisierung. Diese soll unter anderem zur Steuerung von Jalousien verwendet werden.

    Leider bekomme ich nach dem Start von smarthome.py die Position der Jalousien nicht korrekt ausgelesen, die Werte für die Position oder Lamellenposition werden als 0 zurückgegeben (= ganz offen bei meinen Jalousien). Lese ich die Gruppenadresse direkt auf dem Bus im Telegrammmonitor aus, bekomme ich den korrekten Wert (im Beispiel 255 = ganz zu).

    Interessanterweise scheint es direkt nach dem Start des RasPi zu funktionieren, nach einem erneuten Start von smarthome.py nicht mehr.

    Meine item.conf-Datei sieht so aus:
    Code:
     [test_jalousie]
     name = Jalousie
     [[fahren]]
      name = Jalousie hoch / runter
      type = bool
      visu_acl = rw
      knx_dpt = 1
      knx_send = 3/2/5
      enforce_updates = yes
     [[position]]
      name = Jalousieposition
      type = num
      visu_acl = rw
      knx_dpt = 5
      knx_listen = 3/2/15
      knx_init = 3/2/15
      knx_send = 3/2/25
     [[lamellen]]
      name = Lamellenverstellung
      type = bool
      visu_acl = rw
      knx_dpt = 1
      knx_send = 3/2/6
      enforce_updates = yes
     [[lamellen_pos]]
      name = Lamellenposition
      type = num
      visu_acl = rw
      knx_dpt = 5
      knx_listen = 3/2/16
      knx_init = 3/2/16
      knx_send = 3/2/26
    Nach dem Neustart sieht es erstmal gut aus. Konsolen-Ausgabe Telnet-Zugriff:
    Code:
     > admin@smarthome:/usr/smarthome$ telnet localhost 2323
    Trying ::1...
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    SmartHome.py v1.0-5-g5300605
    Enter 'help' for a list of available commands.
    > ls test_jalousie
    Items:
    ======
    test_jalousie
    test_jalousie.fahren = False
    test_jalousie.position = 255
    test_jalousie.lamellen = False
    test_jalousie.lamellen_pos = 255
    > quit
    Connection closed by foreign host.
    Dann kommt der Neustart von smarthome.py . Danach bekomme ich nicht mehr die gleichen Werte, obwohl die Werte auf dem Bus unverändert sind.
    Code:
    > admin@smarthome:/usr/smarthome$ /etc/init.d/smarthome.py restart
    Restarting SmartHome.py smarthome.py
    > admin@smarthome:/usr/smarthome$ telnet localhost 2323
    Trying ::1...
    > > > > > > > Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    SmartHome.py v1.0-5-g5300605
    Enter 'help' for a list of available commands.
    > ls test_jalousie
    Items:
    ======
    test_jalousie
    test_jalousie.fahren = False
    test_jalousie.position = 255
    test_jalousie.lamellen = False
    test_jalousie.lamellen_pos = 0
    Aktuell starte ich bei meinen ersten Versuchen smarthome.py häufiger mal nach Änderungen neu. Es ist dann etwas lästig, wenn die Werte nicht stimmen...

    Habe ich in der Konfig irgendwas falsch gemacht oder bleibt da etwas beim Neustart hängen?

    Abgesehen davon finde ich die Kombination smarthome.py / smartVisu richtig klasse!

    Danke und besten Gruß
    Michael

    #2
    Hallo Michael,

    so ganz ohne Debug-Logfile ist es schwierig das Problem nachzuvollziehen.
    Und bitte nicht nur die aus Deiner Sicht relevanten Abschnitte...

    Bis bald

    Marcus

    Kommentar


      #3
      Hallo Marcus,

      Problem erkannt und gebannt.

      Sehr interessant: Hatte die Jalousie mit den gleichen KNX-Adressen noch als weiteres Item in einer zweiten .conf drin, dort allerdings die Zeile knx_init vor der Zeile knx_listen.

      Nach Vertauschen der Zeilen (also listen vor init) wird richtig initialisiert - ändere ich es zurück, geht es nicht mehr.

      Danke trotzdem und Grüße
      Michael

      Kommentar


        #4
        Hallo Michael,

        sorry, das glaube ich nicht.

        Poste doch mal die Config und das Log. Da stimmt irgend etwas anderes nicht.

        Bis bald

        Marcus

        Kommentar


          #5
          Hallo Marcus,

          ok, jetzt habe ich weiter probiert und Du hast Recht - es war es nicht. Anbei das Debug-Log und die .conf-files aus dem items-Verzeichnis. Nicht wundern, habe die Files ordentlich entschlankt, um nicht soviel unnötiges mitzutracen.

          Debug-Output sieht so aus:
          Code:
           > ls OG.test_jalousie
          Items:
          ======
          OG.test_jalousie
          OG.test_jalousie.fahren = False
          OG.test_jalousie.position = 0
          OG.test_jalousie.lamellen = False
          OG.test_jalousie.lamellen_pos = 255
          Interessanterweise finde ich auf OG.test_jalousie.position auch keine Hinweise im Log.

          Besten Gruß
          Michael
          Angehängte Dateien

          Kommentar


            #6
            Hi Michael,

            hast Du jetzt noch ein Problem? Wenn ja, welches?

            Bis bald

            Marcus

            Kommentar


              #7
              Hallo Marcus,

              ja, im Beispiel oben geht die Initialisierung nicht richtig. OG.test_jalousie.position müsste 255 sein. Im Log finde ich folgenden Eintrag für die Initalisierung der Lamellen-Position, aber keinen vergleichbaren für die Position:

              Code:
               014-01-08 20:50:09,244 DEBUG    Main         Item OG.test_jalousie.lamellen_pos = 255 via KNX 1.1.41 3/2/16 -- item.py:__update:363
              Hast Du eine Idee, woran das liegt?

              Besten Gruß
              Michael

              Kommentar


                #8
                Zitat von MiWu Beitrag anzeigen
                H
                Hast Du eine Idee, woran das liegt?
                ja, an Deinem Aktor. Der antwortet nicht auf den Read-Request.

                Bis bald

                Marcus

                Kommentar


                  #9
                  Hallo Marcus,

                  wäre schön, wenn es so einfach wäre. Lese-Flag im Aktor ist aber gesetzt und wenn ich im von Hand einen Read-Request auf die Gruppenadresse absetze, bekomme ich $FF als Antwort vom Aktor. Bus-seitig funktioniert das Auslesen der Position.

                  Wie kann ich denn sehen, dass der Read-Request überhaupt abgesetzt wird?

                  Besten Gruß
                  Michael

                  Kommentar


                    #10
                    Welche KNX Schnittstelle hast Du?


                    Gesendet von unterwegs

                    Kommentar


                      #11
                      Wenn ich annehme, dass 3/2/15 die Position zurückmeldet - ist dann nicht das knx_init fehl am Platz? Klappt's wenn man knx_listen und knx_init durch ein knx_cache ersetzt?

                      Kommentar


                        #12
                        Hallo Marcus, hallo DiMa,

                        Danke, das scheinen die richtigen Hinweise gewesen zu sein!

                        Mein IP-Interface ist ein Weinzierl IP BAOS 771 und mit den Stichwörtern "Weinzierl" und "knx_cache" habe ich schnell einen Thread gefunden, bei dem mit ähnlichen Symptomen der Parameter "--no-tunnel-client-queuing" für den eibd geholfen hat.

                        Ich habe den Parameter nun auch bei mir in die Konfiguration übernommen und nun werden alle Werte korrekt vom Bus gelesen.

                        Besten Gruß
                        Michael

                        Kommentar

                        Lädt...
                        X