NIBE WP einbinden mittels UDP Gateway

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • loetman
    Smart Home'r
    • 11.08.2020
    • 64

    #1

    NIBE WP einbinden mittels UDP Gateway

    Hallo Miteinander

    Ich möchte meine WP eine Nibe F750 auslesen.
    Original könnte man vom Hersteller ein Modul für 500€ kaufen dass aus dem Proprietären RS485 ein Modbus RTU macht, danach noch eine Modbus Extension...
    Das ist finde ich ein sehr teurer Weg. Aktuell habe ich es mit "nibepi" am laufen. da ist ein Raspi an der WP, der sendet die Daten per MQTT dann an den Loxberry und der dann an den MS.
    Ist etwas umständlich und fehleranfällig.

    Nun wollte ich einen neuen Ansatz versuchen:
    Mittels einem Arduino Boards einen Gateway von der Nibe RS485 auf UDP. Dafür gibt es eine Software "nibeGW" die ursprünglich für z.B. OpenHAB oder Homeassistant geschrieben wurde um dort die nibe Wärmepumpen per udp einzubinden.
    Da dachte ich, der MS kann ja auch udp. Also habe ich den Arduino programmiert und er läuft auch soweit. nur bekomme ich nur kryprische Daten am MS in Hex, mit denen ich jedoch nichts anfangen kann. Auch versuchte ich sie in ASCI umzuwandeln, was auch nicht funktionierte. Weiss jemand von Euch was ich da machen kann?

    Mein Arduino: https://kmpelectronics.eu/products/p...o-ethernet-v1/
    OpenHAB: https://www.openhab.org/addons/bindi...tpump/#arduino

    Hier noch ein Schnipsel was ich empfange:

    "type": 0,
    "idx": 180,
    "msAddr": 0,
    "ms": "xxxxxx",
    "ext": "",
    "dev": "Nibe WP",
    "devSerial": "",
    "devRoom": "",
    "devInst": "",
    "time": "11:34:36",
    "dir": false,
    "extSerial": 0,
    "inf": false,
    "msUuid": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "deviceUuid": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "hex": "5c 00 20 68 50 44 9c 45 00 48 9c 47 01 4d 9c 0d 02 4e 9c e9 01 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 f3",
    "txt": "\\x5C\\x00 hPD\\x9CE\\x00H\\x9CG\\x01M\\x9C\\r\\x02N\\x9C\\xE 9\\x01\\xFF\\xFF\\x00\\x00\\xFF\\xFF\\x00\\x00\\xF F\\xFF\\x00\\x00\\xFF\\xFF\\x00\\x00\\xFF\\xFF\\x0 0\\x00\\xFF\\xFF\\x00\\x00\\xFF\\xFF\\x00\\x00\\xF F\\xFF\\x00\\x00\\xFF\\xFF\\x00\\x00\\xFF\\xFF\\x0 0\\x00\\xFF\\xFF\\x00\\x00\\xFF\\xFF\\x00\\x00\\xF F\\xFF\\x00\\x00\\xFF\\xFF\\x00\\x00\\xFF\\xFF\\x0 0\\x00\\xFF\\xFF\\x00\\x00\\xF3",
    "port": 9999,
    "ipSend": "192.168.15.55"

    Danke Euch!

    Grüsse Loetman​​
  • Prof.Mobilux
    Supermoderator
    • 25.08.2015
    • 4774

    #2
    Das funktioniert nicht, da das NibeGW die Daten im Binary Format per UDP sendet. Das bekommst du nicht ausgewertet - zumindest nicht ohne das Format komplett zu verstehen und dann wieder zu zerlegen. Zudem kannst du so noch keine Werte an die Nibe senden.

    Ich nutze das NibeGW auch auf einem Arduino, der dann an einen LoxBerry sendet. Das ist überhaupt nicht Fehleranfälligkeit und lauft hier seit Wochen ohne einen einzigen Aussetzer: https://loxwiki.atlassian.net/wiki/s...uino+Raspberry

    Als Alternative und kostenmässig zwischen Nibe Original und dem kostenlosen NibeGW gibt es noch das Husdata für 170 Euro: https://loxwiki.atlassian.net/wiki/s...reless+Gateway
    Zuletzt geändert von Prof.Mobilux; 09.01.2023, 21:23.
    🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


    LoxBerry - Beyond the Limits

    Kommentar


    • loetman
      loetman kommentierte
      Kommentar bearbeiten
      Dank Dir vielmals für die Antwort. Ich hatte das unter Loxwiki gar nicht gesehen :-(

      Mit Fehleranfällig meine ich meine Lösung mit nibepi: https://github.com/anerdins/nibepi. Läuft auch über Wlan und einen Raspi Zero.
      Dann hat sich das Thema ja Erledigt, Danke nochmals.

      LG

    • Prof.Mobilux
      Prof.Mobilux kommentierte
      Kommentar bearbeiten
      Ja, der Pi als Gateway ist keine gute Idee. Aber mit Arduino dazwischen passt es. Beim Ausfall des Pis läuft die Nibe einfach weiter, weil das Gateway trotzdem antwortet.
  • svethi
    Lebende Foren Legende
    • 25.08.2015
    • 6326

    #3
    Siehst Du, ich sag ja dass das in dem anderen Thread unter geht ;-)
    Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

    Kommentar

    • loetman
      Smart Home'r
      • 11.08.2020
      • 64

      #4
      So, nun habe ich es soweit mit dem nibegw und niebe-mqtt umgesetzt. Vielen Dank nochmals für die Tolle Anleitung im Loxwiki.

      Alles funktioniert soweit, ausser eine Sache. Ich muss noch 2 Werte Pollen, da die 32Bit sind. Nur klappt das nicht.

      Es sind folgende Werte:


      - degree-minutes-32-bit-40940

      - tot-op-time-compr-eb100-ep14-43420

      Wenn ich den niebe-mqtt Dienst manuell starte tauchen in den Daten folgende Zeilen auf:


      2023-01-14 13:43:38,271 - INFO - Polling coil degree-minutes-32-bit-40940: last_update = 2023-01-14 13:15:58.827535

      2023-01-14 13:43:39,269 - WARNING - Ignoring coil 40940 value ffff1ffd - failed to decode

      2023-01-14 13:43:39,270 - INFO - Polling coil tot-op-time-compr-eb100-ep14-43420: last_update = None

      Also einerseits geht der erste Wert nicht, da es ein Problem beim Decodieren gibt, der andere gibt einfach keinen Wert aus.

      Mit meiner früheren Lösung nibepi funktionierten beide Register problemlos.
      Wäre super wenn jemand einen Rat hätte.

      Vielen Dank.

      Kommentar

      • Prof.Mobilux
        Supermoderator
        • 25.08.2015
        • 4774

        #5
        Hast Du die Option "word_swap: true" in der Config gesetzt und das in der Nibe auch so konfiguriert? Die Einstellung in der Nibe und die Config von nibe-mqtt müssen identisch sein. Also entweder beide auf true/ein oder beide auf false/aus.
        🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


        LoxBerry - Beyond the Limits

        Kommentar


        • loetman
          loetman kommentierte
          Kommentar bearbeiten
          bei mir hatte das Update nicht richtig geklappt. Bei Linux sind meine Kenntnisse ziemlich bescheiden. Ich versuchte auch die 3.11, die Anleitung ist aber für 3.9. Ich versuche es bei Gelegenheit nochmals. Danke.

        • svethi
          svethi kommentierte
          Kommentar bearbeiten
          3.11?? War das nicht eines der ersten Windows-Versionen? 😂

        • loetman
          loetman kommentierte
          Kommentar bearbeiten
          Ja, da hatte ich einen Turm an Disketten um es zu installieren "insert Disk 1/15" oder so :-)
      • loetman
        Smart Home'r
        • 11.08.2020
        • 64

        #6
        So, mit nochmals rumgetüftle habe ich die Installation auch auf dem Loxberry hinbekommen. Das Python 3.11.1 ist doch etwas tricky zu installieren.
        Ich habe mit mehreren Anleitungen und etwas versuchen es schlussendlich hin bekommen. Ein Stolperstein ist z.B. der sudo Command, mit dem man es nicht installiert bekommt. dass es mit root rechten passieren muss. Aber das habe ich ja in der Loxberry Doku gefunden.

        Ich heb meinen Weg mal aufgeschrieben, falls ein anderer Anfänger wie ich das versuchen will Python 3.11.1 auf dem Loxberry zu installieren:

        Auf dem Loxberry die Python auf 3.11.1 installieren:

        mittels Terminal sich mit dem Loxbberry als Standardbenutzer verbinden

        Nun müssen wir root Rechte haben:
        Code:
        su-
        Jetzt das Root Passwort eingeben, Enter

        Anschliessend die folgenden Befehle ausführen:

        Code:
        apt install wget build-essential libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev
        Code:
        wget https://python.org/ftp/python/3.11.1/Python-3.11.1.tgz
        Code:
        tar xzf Python-3.11.1.tgz
        Code:
        cd Python-3.11.1
        Code:
        ./configure --enable-optimizations
        Code:
        nproc
        Nun schaue, was der Befehl für eine Zahl ausspuckt, das sind die Anzahl Prozessorkerne, die das System hat. In meinem Fall 4. So muss der nächste Befehl je nach dem bei Euch mit einer anderen Zahl ergänzt werden:

        Code:
        make -j 4
        Das dauert nun einige Zeit!

        Code:
        make altinstall
        Code:
        update-alternatives --install /usr/bin/pip3 pip3 /usr/local/bin/pip3.11 1
        Code:
        update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.11 1
        Fertig!

        Cool wäre natürlich wenn es mal ein Plugin für Loxberry gäbe. Wenn ich es selbst könnte, würde ich eins programmieren.
        Auf jeden Fall nochmals Danke für die Unterstützung!
        Falls noch jemand einen Fehler sieht oder man was besser machen könnte, gebt Bescheid, dann Änder ich es ab.

        Kommentar

        • loetman
          Smart Home'r
          • 11.08.2020
          • 64

          #7
          Nun läuft seit einiger Zeit meine Konstellation:

          Nibe F750 ----- NibeGW (PRODINo ESP32 Ethernet) ---- Loxberry (MQTT) ---- Loxone

          Nun hatte ich aber schon einige Male ein Problem:
          Der Gateway bricht irgend wann die Kommunikation über den RS485 Bus mit der WP ab. Die WP geht dann auf Störung.
          Ich kann es nicht wieder quitieren. Ich muss dem NibeGW die Stromversorgung wegnehmen und dann wieder einschalten. Danach den Fehler auf der WP quitieren und es läuft wieder.
          Das kann zwei Mal an einem Tag sein oder es läuft eine Woche.
          Es scheint, als ob sich der Prodino aufhängt oder zumindest die RS485 Schnittstelle.
          Könnte mir jemand einen Tipp geben, an was das liegen könnte?
          Die Verbindung ist ca. 9m lang und läuft in einem Cat.5e Kabel als verdrilltes Paar. Die Masse habe ich auch mit der WP verbunden.

          Danke für euere Hilfe.

          Habe inzwischen ein eigenes Thema aufgemacht, da es hier vermutlich ungünstig platziert ist:
          Ich habe seit einiger Zeit meine Verbindung zur Nibe WP folgendermassen am laufen: Nibe F750 ----- NibeGW (PRODINo ESP32 Ethernet) ---- Loxberry (MQTT) ---- Loxone Nun hatte ich aber schon einige Male ein Problem: Der Gateway bricht irgend wann die Kommunikation über den RS485 Bus mit der WP ab. Die WP geht dann auf Störung


          Zuletzt geändert von loetman; 23.03.2023, 15:45.

          Kommentar

          Lädt...