Ankündigung

Einklappen
Keine Ankündigung bisher.

ABB B21 113-100 Zähler über ABB ZS/S1 Zählerschnittstelle mit knxtool auslesen.

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

    ABB B21 113-100 Zähler über ABB ZS/S1 Zählerschnittstelle mit knxtool auslesen.

    Hallo Zusammen,

    ich verwende schon seit längerem das knxtool aus dem knxd Paket um Werte aus meinem KNX BUS zu lesen und per Nagios zu überwachen. Die Ist-temparatur aller Raumtemparaturregler oder meine MDT Wetterstation lassen sich super auslesen und mit Nagios überwachen.

    Ich habe eine kleine PV-Anlage auf das Garagendach gebaut und diese an einen ABB Zähler angeklemmt.

    Nun möchte ich meinen "ABB B21 113-100" Zähler per KNX auslesen, das geht in Verbindung mit der ABB ZS/S1.1 Zählerschnittstelle welche den Zähler per Infratotschnittstelle auslesen kann und den Zähler an das KNX-Netz anbindet. Ja ist etwas umständlich aber aktuell bekomme ich keine Zähler mit direkter KNX-Anbindung alles ausverkauft.

    Wenn ich die Funktion read verwende bekomme ich leider keinen Dezimalwert ausgelesen.

    Code:
    root@nagios:/opt/source# /usr/bin/knxtool read ip:10.1.2.242 6/2/2
    C1 89 D7 0A
    Die Funktion readtemp ist hier auch nicht besser. Ist ja keine Temparatur
    Code:
    root@nagios:/opt/source# /usr/bin/knxtool readtemp ip:10.1.2.242 6/2/2
    C1 87 70 A4
    Das Auslesen der MDT Wetterstation funktioniert prima, hier sind jetzt 16,5° C
    Code:
    root@nagios:/opt/source# /usr/bin/knxtool readtemp ip:10.1.2.242 0/5/0
    16.5


    Wenn ich mit der ETS die gleiche Abfrage mache sehe ich die Zeichenkette mit 8 Zeichen, Aber die ETS erkennt den Datenpunkttyp 14.056 Leistung (W) und zeigt in meinem Beispiel 258,92 Watt Leistung an.

    Watt.png

    Wenn ich über ETS andere Werte auslesen möchte wie z.b. Strom (A) dann wird ein anderer Datenpunkttyp erkannt und angezeigt.

    Strom_A.png

    Code:
    /usr/bin/knxtool read ip:10.1.2.242 6/2/0
    3F 8A 3D 71
    Das gleiche passiert auch mit der Spannung in V, die ETS kann es sauber datstellen.
    Spannung.png

    Das knxtool leider nicht.
    Code:
    root@nagios:/opt/source# /usr/bin/knxtool readtemp ip:10.1.2.242 6/2/1
    43 6C 66 67
    Nun habe ich versucht die gewünschten Werte mit anderen "applet" Funktionen aus /usr/bin/knxtool auszulesen. Leider ohne erfolg. In der Zwischenzeit habe ich auch ein aktuelles knxtool installiert.

    Sicher bediene ich das knxtool falsch oder es muss angepasst werden damit auch die Datenpunkttypen richtig erkannt werden und dargestellt werden können.

    Für den Wert LUX habe ich einfach die Funktion readtemp verwendet aber bin mir nicht sicher ob das passt.
    Eigenschaft Wert
    DataPointType 9.004 Lux (Lux)
    DecodedDpValue 24 26 | 169,92 Lux
    RawDpValue 24 26

    Hier weitere Details zum Datentyp für die Leistung in Watt.
    Eigenschaft Wert
    RawData 29 00 BC E0 11 28 32 02 05 00 40 42 B6 EB 85
    MessageCode LDataInd
    Source 1.1.40
    SourceName ZS/PV-2
    Destination 6/2/2
    DestinationName PV-2 Leistung in Watt
    RepeatedFlag False
    Acknowledge Ack
    ConfirmFlag False
    RoutingCounter 6
    Priority Low
    FrameFormat Standard
    Service vom Bus
    LocalizedType GroupValueResponse
    Security
    TPCI T_Data
    APCI APciGroupValueResponse
    DataPointType 14.056 Leistung (W)
    DecodedDpValue 42 B6 EB 85 | 91,46 W
    RawDpValue 42 B6 EB 85

    Die Frage ist wie kann ich mit Hilfe des knxtool aus einem RawDpValue 42 B6 EB 85 eine Ausgabe Zaubern wie "91,46 W"?

    Kann mir einer erklären wie ich das knxtool richtig bediene oder muss der Quellcode angepasst werden?

    Wenn der Quellcode angepasst werden muss wie aufwändig ist das? Gerne zahle ich auch eine kleine Spende.

    Schöne Grüße

    Paulo

    #2
    Zitat von nagios2knx Beitrag anzeigen
    wie kann ich mit Hilfe des knxtool
    Gar nicht, und das ist Absicht.

    Es ist nicht der Job des knxtools, deine Datentypen auseinanderzufieseln. dafür ist es nicht gemacht; es versteht den Inhalt der Datagramme ebenso wenig wie der knxd selber ("readtemp" sehe ich in dem Zusammenhang eher als Zu- bzw. Unfall). Ebensowenig ist der KNX-Bus dafür gemacht, Daten zu pollen; jedes Gerät am Bus sendet sie eh bereits regelmäßig.

    Daher: schnapp dir xknx oder ein vergleichbares Python-Modul. Das kann alle DPTs, und es kann direkt mit dem knxd reden, am Bus lauschen und dir regelmäßig den Wert ausspucken. Oder ihn gleich selber weiterverarbeiten. (Ja, ich habe was gegen Shell"programmierung".)

    Alternativ (und halb so teuer als KNX-fähige Zähler) gibt es brauchbare Stromzähler mit Modbus, und RS485/USB-Adapter, und einen Raspberry Pi (oder auf was auch immer dein knxd läuft). Das ist im Zweifelsfall stabiler als einen Zähler infrarot auszulesen. Und: Modbus liefert mehr Daten.
    DistKV, Home Assistant, 1wire, KNX, Python, Asterisk, SMD-Lötkolben

    Kommentar


      #3
      Hallo Smurf,

      ok ich verstehe dein Vorschlag, deinen Ansatz dem BUS zu lauschen und die Daten die versendet werden zu verarbeiten, anstatt gezielt nach Werten im BUS zu fragen ist sicher die bessere Lösung als mein bisheriger Ansatz. Ich verwende halt gerne Nagios um mein Netzwerk und auch mein KNX BUS zu überwachen und deren Zustand zu speichern.

      Wenn ich mithilfe von knxtool meine KNX-fähige Zähler mit DPTs korrekt auslesen könnte, dann wäre ich bereits fertig/glücklich.

      Die ABB Zähler gibt es auch in der Ausführung mit Modbus, aber ich habe 4 Zähler in zwei verschiedenen Schaltschränken (Örtlich getrennt) und keine Erfahrung mit Modbus. Außerdem habe ich nur das KNX-Bus Kabel zwischen Hausnetz und den Zählern. Per KNX habe ich also eine Verbindung zu den Zählern, per Modbus oder RS485 nicht, weil dann brächte ich auch mindestens eine TCP/IP Verbindung zwischen Hausnetz und den Schaltschränken. Welche mangels Kabel nicht mehr umsetzbar ist. Daher möchte ich den vorhandenen KNX-Bus verwenden.

      Im Grunde möchte ich 3-4 Werte alle 5 Minuten abfragen/auslesen, speichern und anschließend die History im Grafen darstellen. Bislang habe ich nagios mit knxtool dafür verwendet. Bin aber offen für andere Vorschläge.

      Ich habe mich auf der Seite https://xknx.io/ umgeschaut, aber nichts verstanden. Ich bin zwar auch Informatiker, aber Linux Admin und kann Shell-Scripte schreiben. Ich bin kein Anwendungsentwickler wie du.

      Nun habe ich zwei Tage lang mit OpenHAB experimentiert und bin etwas frustriert, weil meine Konfiguration nicht funktioniert oder nur mit großen Verzögerungen reagiert.

      Hast du Erfahrung mit xknx? Hättest du Interesse mir bei der Umsetzung zu helfen? Ich bin gerne bereit, für einen guten Support zu zahlen. Lieber gebe ich etwas Geld aus, um an mein Ziel zu kommen, als dass ich Wochenlang bis in die Nacht zu experimentieren.

      Also wer sich gut mit OpenHAB oder HomeAssistent auskennt und oder einen Weg kennt wie ich Daten aus meinem KNX-Bus auslesen,speichern und auswerten kann. Darf sich gerne an mich per PN wenden.
      Zuletzt geändert von nsm2knx; 07.05.2022, 14:06.

      Kommentar


        #4
        Schau mal im xknx Discord vorbei https://discord.gg/EuAQDXU da gibts xknx / Home Assistant Menschen die dir da helfen können.
        Zuletzt geändert von meti; 07.05.2022, 21:38.

        Kommentar

        Lädt...
        X