Ankündigung

Einklappen
Keine Ankündigung bisher.

Temperatur Ist Wert abrufen KNX MDT

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

    Temperatur Ist Wert abrufen KNX MDT

    Hallo Ihr lieben,

    ich bemühe mich gerade die Ist Temperatur meiner Räume in openHAB zu visualisieren und bekomme keine Temperaturen angezeigt.
    Ich habe einen Glastaster von MDT und einen Heizungsaktor von MDT.

    Ich habe bisher folgendes versucht und in der .items eingetragen

    Code:
    Number    H_EG_Wohnzimmer   "Ist Temperatur [%.1f °C]"    (EG_Wohnzimmer)    { knx="9.001:4/1/0" }
    In der .sitemap folgendes:

    Code:
                   
    ...
    Group item=EG_Wohnzimmer label="Wohnzimmer" icon="sofa" {
      Text item=H_EG_Wohnzimmer
    }
    ...
    In der Ausgabe bekomme ich "Ist Temperatur - °C" ... also keinen Wert.

    Hat jemand ein paar Tips, wo ich ggf. Fehler mache oder was ich mal testen könnte?

    Vielen Dank!

    #2
    Was sagt denn das OH Log?

    Code:
    tail -n 50 /var/log/openhab2/openhab.log
    unter linux.

    Kommentar


      #3
      Hallo Tatwaffe, die Verbindung zum Bus besteht, Licht an / aus bei meinen Beispielen geht. Das Log habe ich ausgewertet, dort sind außer [INFO ] Einträgen keine nennenswerten Fehler

      Code:
      Validation issues found in configuration model 'haus.sitemap', using it anyway:
      Linkable widget should contain either only frames or none at all
      .. ich denke das wird es nicht sein

      In der knx.cfg habe ich eben mal von TUNNEL in ROUTER geändert, und mit
      Code:
      sudo systemctl restart openhab2.service
      mal neugestartet, da ich mal gelesen hatte, dass dieses beim lesen von Werten ggf. besser ist (was im Detail weiß ich nicht), dass hat aber nichts gebracht. Noch eine Idee?

      Kommentar


        #4
        Bitte nicht auf Verdacht irgendwelche Parameter ändern ohne zu wissen, was man tut.

        Was nutzt Du für ein Interface? Siehst Du überhaupt knx Daten, z.B. wenn Du einen Lichtschalter betätigst, ändert sich der passende Schalter in openHAB? Kannst Du knx gesteuertes Licht über openHAB steuern?

        EDIT: Sehe gerade, die Steuerung grundsätzlich funktioniert.

        sendet der Glastaster zyklisch oder nur bei Wertänderung?

        Kommentar


          #5
          Ich nutze das Basicui Interface. Deine Frage war aber die richtige: Ich kann zwar über das Ui Licht ein und aus schalten, dann ändert sich auch die eingestellte Leuchtstärke als Feedback auf dem Glastaster, andersherum geschaltet am Glastaster bekommt die Ui die Änderung nicht mit. Der Glastaster sendet nur bei Wertänderung. Denke hier fehlt mir was?

          Kommentar


            #6
            Ändere mal bitte die Zeile wie folgt
            Code:
             Number    H_EG_Wohnzimmer   "Ist Temperatur [%.1f °C]"    (EG_Wohnzimmer)    { knx="<(10)9.001:4/1/0" }
            und stell mal das besagte OH Log hier rein. Der Wert sollte jetzt alle 10 sec. vom Bus abgerufen werden. ...GroupValueRead...
            Das Ergebnis sollte etwa so aussehen:

            Code:
            23:21:11.232 [DEBUG] [tuwien.auto.calimero                ] - calimero.link.127.0.0.1:3671: indication from 1.1.7
            23:21:11.242 [DEBUG] [tuwien.auto.calimero                ] - calimero.link.127.0.0.1:3671: indication from 1.1.7
            23:21:11.342 [INFO ] [tuwien.auto.calimero                ] - calimero.link.127.0.0.1:3671: [B]send message to 4/4/0[/B], wait for confirmation
            23:21:12.725 [DEBUG] [tuwien.auto.calimero                ] - calimero.link.127.0.0.1:3671: cEMI L-Data.req from 1.1.255 to 4/4/0, low priority hop count 6 repeat tpdu 00 80 00 3a
            23:21:12.728 [DEBUG] [tuwien.auto.calimero                ] - KNXnet/IP Tunneling 127.0.0.1:3671: sending cEMI frame seq 144, wait for cEMI.con, attempt 1 (channel 2) 06 10 04 20 00 17 04 02 90 00 11 00 bc e0 11 ff 24 00 03 00 80 00 3a
            23:21:12.730 [DEBUG] [tuwien.auto.calimero                ] - KNXnet/IP Tunneling 127.0.0.1:3671: received cEMI L-Data.con with req 47
            23:21:12.732 [DEBUG] [tuwien.auto.calimero                ] - calimero.link.127.0.0.1:3671:[B] confirmation of 4/4/0[/B]
            23:21:12.794 [DEBUG] [tuwien.auto.calimero                ] - calimero.link.127.0.0.1:3671: send to 4/4/0 succeeded
            23:21:12.807 [DEBUG] [tuwien.auto.calimero                ] - process 127.0.0.1:3671: [B]group write to 4/4/0 succeeded[/B]
            Vorher in der OH-Konsole noch das erweiterte Logging für das KNX-Binding einschalten.

            Code:
            log:set DEBUG org.openhab.binding.knx
            Was für eine Hardware-Kombination hast Du, um Busnachrichten zu senden/empfangen?
            Zuletzt geändert von Tatwaffe23mm; 11.01.2018, 23:27.

            Kommentar


              #7
              Es ist weder nötig noch sinnvoll, den Temperaturwert alle paar Sekunden zu pollen. Wichtig ist aber, dass der Wert beim Hochfahren von openHAB aktiv gelesen wird und dies auch möglich ist. Dazu muss auf openHAB-Seite einfach nur ein < vor die zu lesende GA gesetzt werden.
              Code:
              Number H_EG_Wohnzimmer "Ist Temperatur [%.1f °C]" (EG_Wohnzimmer) { knx="<9.001:4/1/0" }
              Das ist aber nur die halbe Wahrheit, denn auf knx-Seite muss das Device auch auslesbar sein, es muss also das L-Flag im Device auf dem zu lesenden Objekt gesetzt sein. Ferner muss die GA, über die die Leseanforderung kommt, die 1. GA auf dem Objekt sein.

              Allerdings scheint die Kommunikation noch nicht zu stimmen, oder Du hast an der einen oder anderen Stelle einen Fehler in der Konfiguration, sonst müsste openHAB jeden Schaltbefehl von knx-Seite mitbekommen. Es kann aber auch sein, dass nur die Anzeige nicht aktualisiert wurde. Zuverlässig kann man die Kommunikation nur im Log mitverfolgen, entweder über karaf mit log:tail (Achtung! Wenn eine Zeit lang keine Eingaben erfolgen, läuft die Konsole in einen Timeout und der User wird ausgeloggt) oder direkt von der Konsole aus mit einem tail -f auf events.log. Dort sollte jeder Schaltvorgang (mindestens) zu einer Zeile führen.

              Meine Frage nach dem Interface bezog sich auf die Anbindung knx<->openHAB, also das knx/IP Interface.
              Zuletzt geändert von udo1toni; 12.01.2018, 04:43.

              Kommentar


                #8
                Guten Morgen zusammen, eure beiden Vorschläge habe ich getestet. Zunächst habe ich das [DEBUG] eigestellt, danke für den Tip!
                Für die die mal irgenwann den Thread lesen: in der Konsole muss die openHab console gestartet werden mit
                Code:
                ssh -p 8101 openhab@localhost
                Default PW ist: "habopen", ggf. Meldung mit "yes" beantworten, dann den Befehlt von Tatwaffe schreiben "log:set DEBUG org.openhab.binding.knx".

                Daraufhin habe ich das Pollen { knx="<(10)9.001:4/1/0" } mal eingestellt.
                Code:
                2018-01-12 08:13:33.296 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'haus.items'
                2018-01-12 08:13:33.493 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'haus.items'
                2018-01-12 08:13:33.709 [DEBUG] [.binding.knx.internal.bus.KNXBinding] - Received groupWrite Event.
                2018-01-12 08:13:33.746 [DEBUG] [.binding.knx.internal.bus.KNXBinding] - Received telegram for unknown group address 4/1/30
                2018-01-12 08:13:35.588 [DEBUG] [x.internal.bus.KNXBusReaderScheduler] - Autorefresh: Adding 1 item(s) with refresh time 10 to reader queue.
                2018-01-12 08:13:35.590 [DEBUG] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: got new item H_EG_Wohnzimmer in reader queue
                2018-01-12 08:13:35.595 [DEBUG] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Trying to read from KNX bus: command DP 4/1/0 H_EG_Wohnzimmer, DPT main 0 id 9.001, low priority
                2018-01-12 08:13:35.597 [DEBUG] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Sending read request to KNX for item 'H_EG_Wohnzimmer' DPT '9.001'
                2018-01-12 08:13:35.652 [DEBUG] [.binding.knx.internal.bus.KNXBinding] - Received groupWrite Event.
                2018-01-12 08:13:35.653 [DEBUG] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: DatapointReaderTask Waiting 50 msecs to prevent KNX bus overload
                2018-01-12 08:13:35.677 [DEBUG] [.binding.knx.internal.bus.KNXBinding] - Wrote value [B]'19.8'[/B] to datapoint 'command DP 4/1/0 H_EG_Wohnzimmer, DPT main 0 id 9.001, low priority'
                2018-01-12 08:13:35.704 [DEBUG] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Waiting for new item in reader queue
                Und plötzlich kommt dort 19.8°C drin vor. In meiner Ui im übrigen steht nun auch 19,8°C ... ich bin dann wieder in die items und habe das <(10) entfernt. Jetzt bleibt weiterhin der Wert aktuell, scheint also auf unerklärliche Weise jetzt zu funktionieren, auch die Anzeige (Schalte Switch) wenn ich eine physikalischen Taster betätige kommt jetzt im BasicUi an. Mehr als das beschriebene habe ich nicht gemacht. Als ip Interface habe ich den MDT

                eine Sache ist mir noch aufgefallen:
                Code:
                2018-01-12 08:09:38.480 [DEBUG] [.binding.knx.internal.bus.KNXBinding] - Wrote value 'ON' to datapoint 'command DP 5/1/5 L_EG_Wohnzimmer_Essen1, DPT main 0 id 1.001, low priority'
                2018-01-12 08:09:38.484 [DEBUG] [.binding.knx.internal.bus.KNXBinding] - Wrote value 'ON' to datapoint 'command DP 5/1/5 L_EG_Wohnzimmer_Essen1, DPT main 0 id 1.001, low priority'
                ...
                2018-01-12 08:10:05.912 [DEBUG] [.binding.knx.internal.bus.KNXBinding] - Wrote value 'OFF' to datapoint 'command DP 5/1/5 L_EG_Wohnzimmer_Essen1, DPT main 0 id 1.001, low priority'
                2018-01-12 08:10:05.915 [DEBUG] [.binding.knx.internal.bus.KNXBinding] - Wrote value 'OFF' to datapoint 'command DP 5/1/5 L_EG_Wohnzimmer_Essen1, DPT main 0 id 1.001, low priority'
                Wenn ich in der Ui schalte, bekomme ich immer zwei Einträge in der Konsole, warum ist das so?
                IP Interface ist von MDT SCN-IP100.02 IP Router

                Kommentar


                  #9
                  udo1toni Ja, da hast Du recht. Das zyklische pollen war nur für den Debug-Lauf gedacht, nicht für den Produktiveinsatz.

                  Kommentar

                  Lädt...
                  X