« Heizung, Lüftung, Klima  |

DIY Alternative zu Nibe Modbus Modul

Teilen: facebook    whatsapp    email
 
 <  1  2  3 ...... 4 ... 49  50  51  > 
  •  chrismo
  •   Gold-Award
29.1.2019 - 20.3.2024
1.008 Antworten | 62 Autoren 1008
127
1135
Weil es hier immer wieder zu Diskussionen zum Thema Modbus-Anbindung der Nibe kommt, wollte ich hier mal kurz meine Erfahrungen mit dem Nachbau einer DiY Lösung, auf Basis von im Netz vorhandener Infos, teilen. Für mich war es eine Spielerei und Zeitvertreib der letzten Tage. Der Post dient vor allem als Speicherort für meine gesammelten Infos und evt. dem Austausch von Leuten, die das so oder so ähnlich bei sich installiert haben. Ich kann und will hier keine Empfehlung abgeben, sowas selbst zu machen!

Die Lösung basiert im Wesentlichen auf den Nibe Bindings von openHAB (https://www.openhab.org/addons/bindings/nibeheatpump/), das eine Umsetzung Modbus auf UDP macht. Infos zur Funktionsweise findet man auf der openHAB Seite bzw. dem entsprechenden github Repo.

Die grobe Vorgangsweise war folgend:
1) Auf einen Arduino mit Ethernet Shield und RS485 Adapter die NibeGW Software (Teil des Bindings) installieren. Der Ardunio Code muss dabei an die eigenen Netzwerkeinstellungen angepasst werden. 

2) Den Arduino an die Wärmepumpe und ans LAN anschließen.

3) Die Nibe Modbus Manager Software auf einem Rechner installieren und bis zu 20 Register auswählen, die periodisch von der Wärmepumpe exportiert werden sollen. Diese Konfig muss gespeichert und per USB-Stick auf die WP WP [Wärmepumpe] übertragen werden.

4) Das Modbus Modul in der WP WP [Wärmepumpe] aktivieren. Wenn alles geklappt hat, bleibt die Wärmepumpe im Normalbetrieb. Falls irgendwas bei der Kommunikation mit dem Arduino schief geht, wird eine Fehlermeldung am Display ausgegeben und die WP WP [Wärmepumpe] geht in einen Alarmmodus.

5) Das nibeopenhab Binding in openHAB installieren und konfigurieren.

zu 1) Man könnte dazu auch einen Raspberry Pi mit RS485 Adapter verwenden, auf dem dann auch openHAB selbst läuft. Das finde ich aber nicht optimal. Ein Pi wäre mir da nicht robust genug. Selbst ein einfacher Neustart des Pis würde zu einem Fehler der WP WP [Wärmepumpe] führen und ein SD-Kartenfehler wäre sowieso ungemütlich.

zu 5) Da ich derzeit noch nicht weiß ob es openHAB oder was anderes wird - über Erfahrungen bzw. Empfehlungen würde ich mich freuen(!) - habe ich das Binding so adaptiert, das es ohne openHAB läuft. Derzeit verwende ich die Log-Dateien dieses "Stand-Alone Bindings" zur Speicherung der Werte. Eine Erweiterung für "richtige" Ausgabeformate bzw. Kanäle (Umsetzung auf KNX wurde hier mal in einem anderen Thread diskutiert) wäre aber von hier weg leicht machbar.

von energiesparhaus

  •  chrismo
  •   Gold-Award
15.3.2019  (#21)
https://www.nibe.ee/tooted/Accessories/NIBE-MODBUS-40/#tab2

1
  •  SMiak
15.3.2019  (#22)
Danke! 

Hättest du dir den Step Down Converter nicht auch sparen können und direkt mit den 12 V an die Buchse des Uno gehen können? Ist ja eigentlich alles drauf für 5 und 3,3 V

Vg Maik

1
  •  chrismo
  •   Gold-Award
16.3.2019  (#23)
Ja, ginge auch. Mit dem Converter, von denen ich eh einige herumliegen hatte, ist es halt sicherer. Der Regler am Uno ist bei 12V schon ziemlich an der Grenze. 

1
  •  chrismo
  •   Gold-Award
16.9.2019  (#24)
Kurzes Update: nach fast genau einem halben Jahr hat jetzt das Ethernet-Shield den Geist aufgegeben und musste ausgetauscht werden. Nachdem alles steckbar ist, kein großer Aufwand, aber natürlich lästig. Ich hoffe das neue hält länger.

Software-seitig verwende ich nun das Nibe-Binding für openHAB. Die Außentemp gebe ich an den KNX-Bus weiter (per Node-RED Flow, der einen Durschnitt der letzten paar Minuten berechnet), damit ich ihn bei den MDT Smarttaster anzeigen kann, ein paar weitere Register logge ich nur mit (InfluxDB+Grafana).

1
  •  denis
  •   Silber-Award
15.11.2019  (#25)
Vielen Dank für deine Dokumentation des ganzen! 

Für mich als Arduino bzw. allgemein Laie in diesem Bereich. Spricht etwas dagegen einen ProDino MKR Zero Ethernet V1 zu verwenden? Er hätte Ethernet und RS485 schon inklusive. Und mich würde interessieren wie man den RS485 Port genau an die F1x55 anschließt.

Sehe ich es richtig dass man nur an AA3-X4 der Wärmepumpe A -> 11 und B -> 10 anschließt. Order versorgst du den Arduino auch noch mit Spannung über die Pins 9 und 12? 

1
  •  chrismo
  •   Gold-Award
15.11.2019  (#26)
Ja, die beiden Pins reichen aus. Spannungsversorgung dann über Netzteil. Theoretisch könnte man auch 9 und 12 verwenden, was ich auch mal probiert habe.  Externes Netzteil ist aber mMn besser (sicherer).

Das Prodino wurde hier auch schon als Alternative genannt. Ist auch im Quellcode genannt. Sollte also gehen, habe ich aber selbst nie ausprobiert.

1
  •  denis
  •   Silber-Award
15.11.2019  (#27)
Vielen Dank für deine schnelle Antwort @chrismo. Ich werde dann berichten wie es mit dem Prodino läuft. (laut Doku sollte es auch gehen)

1
  •  uzi10
15.11.2019  (#28)
Ja bitte probiwrn. Würd mich auch interessiern... nur muss ich extra nen openhab server machn :(

1
  •  denis
  •   Silber-Award
15.11.2019  (#29)
Ich werde berichten. Aber es kann noch ein wenig dauern. Jetzt erstmal einziehen und dann möchte KNX auch noch parametriert werden. Wird also noch ein Weilchen dauern, vielleicht schiebe ich es aber gleich am Anfang dazwischen, da mir der Uplink jetzt schon auf die Nerven geht. emoji

1
  •  chrismo
  •   Gold-Award
15.11.2019  (#30)

zitat..
denis schrieb: Spricht etwas dagegen einen ProDino MKR Zero Ethernet V1 zu verwenden?


Ich habe mir nochmal die Herstellerseite angeschaut. Es gibt verschiedene Prodino-Versionen. Der "MKR Zero Ethernet V1" ist ein ARM Cortex M0. Es gibt auch einen "ProDino Ethernet" (siehe: https://kmpelectronics.eu/shop/prodino-ethernet/), der auf einem Arduino Leonardo basiert. Das zweite Board dürfte passender sein, oder zumindest einfacher zu verwenden, da es direkt in der Arduino IDE unterstützt wird. Beim MKR Zero müsste man zuest das Board in der IDE installieren. Ich weiß auch nicht, ob dann das Nibe Binding direkt läuft, oder man z.B. Pin-Nummern umstellen, oder eine andere Ethernet-Bibliothek verwenden muss, etc.

Vielleicht kann ja jemand, der einen ProDino mit dem Nibe Binding verwendet, das genaue Modell nennen?

1
  •  Klartext
20.11.2019  (#31)
https://github.com/bebben88/NibePi
vielleicht auch für den ein oder anderen interessant, Readme ist leider auf Schwedisch

1
  •  uzi10
  •   Gold-Award
20.11.2019  (#32)
Wow.muss ich mir anschaun. Sieht laut code nach mqtt aus

1
  •  denis
  •   Silber-Award
20.11.2019  (#33)
Vielen Dank für den Link. Leider wirklich alles auf schwedisch. Hab gerade in die Facebook Gruppe geschaut. Auch alles auf schwedisch leider. 😃

Es läuft alles auf dem PI Zero der dort verwendet wird. MQTT als Message Bus und als Visualisierung und Flow Steuerung Node Red. Die gesamte Kommunikation mit der Pumpe läuft über NodeJS was über Modbus mit der Pumpe kommuniziert. Die Kommunikation zwischen dem Node Red Flow und der NodeJS Anwendung läuft über MQTT. Im Repo liegen allerdings nur der NodeJS und der NodeRed Teil. 

1
  •  denis
  •   Silber-Award
20.11.2019  (#34)
So und hier noch ein Update. Ich habe eben mit den Machern gesprochen. NibePi published automatisch eine große Menge an Registern per MQTT. (die 20 gesetzten) Man muss sich also nur subscriben von wo auch immer. Außerdem kann man per MQTT publish an ein spezielles Topic weitere Register registrieren. Diese werden dann zusätzlich von NibePi per MQTT Publish zur Verfügung gestellt. 
Die Hardware kann man sich natürlich selber zusammen basteln oder die Macher verkaufen sie auch für 75€ inkl SD Karte komplett. (machen sie nachdem so viel Nachfrage in Schweden da war)
Achja NibePi läuft auf einem Read Only Filesystem auf dem PI. Damit bleibt die Plattform stabil und SD Karten Ausfälle sind schon mal ziemlich ausgeschlossen. 
Außerdem wird es bald eine Standalone Node JS Anwendung geben die die reine Kommunikation mit der Pumpe über Modbus und das MQTT publishen kapselt.
Und noch eine Info. Das ganze nutzt kein NibeGW, setzt aber auf das gesammelte Wissen aus NibeGW und macht es eben viel einfacher nutzbar. 
Es wird deswegen auch bald einen Node Red Node geben mit dem man dann direkt mit NibePi kommunizieren kann.
Achja und es können natürlich auch Register geschrieben werden. 😃

1
  • ▾ Werbung
    Energiesparhaus.at ist Teilnehmer des Amazon-Partnerprogramms, das zur Bereitstellung eines Mediums für Webseiten konzipiert wurde, mittels dessen durch die Platzierung von Partner-Links zu Amazon.de Entgelte verdient werden können.
Hallo denis, schau mal hier im Shop nach, da siehst du Preise und wirst sicher auch fündig.
  •  SMiak
  •   Bronze-Award
21.11.2019  (#35)
Die Register sind in den json-Daten hinterlegt. Kann man also auch anpassen. 75 Euro klingt gut, wenn man keine Lust zu basteln hat emoji

1
  •  denis
  •   Silber-Award
21.11.2019  (#36)
Das sind die möglichen Register ja. Sie werden aber nicht automatisch abgefragt. Die Wärmepumpe sendet von sich aus nur die per USB konfigurierten Register. (max 20) Alle dann zusätzlich manuell abgefragten sind ziemlich Ressourcen intensiv. (näheres in der FB Gruppe wo ich das auch Englisch beim Entwickler erfragt hatte)
Hier ist also kein Unterschied zu NibeGW. Kann auch nicht sein setzt ja immer auf der gleichen Modbus Schnittstelle auf.

1
  •  uzi10
  •   Gold-Award
21.11.2019  (#37)

zitat..
denis schrieb: Es läuft alles auf dem PI Zero der dort verwendet wird. MQTT als Message Bus und als Visualisierung und Flow Steuerung Node Red. Die gesamte Kommunikation mit der Pumpe läuft über NodeJS was über Modbus mit der Pumpe kommuniziert. Die Kommunikation zwischen dem Node Red Flow und der NodeJS Anwendung läuft über MQTT. Im Repo liegen allerdings nur der NodeJS und der NodeRed Teil.

Kannst du das fachchinesisch eindeutschen :D...
bin grad auf dem Weg, wenns zeitlich zulässt, node red und mqtt in meinen Wissensschatz zu integrieren!


zitat..
denis schrieb: Es wird deswegen auch bald einen Node Red Node geben mit dem man dann direkt mit NibePi kommunizieren kann


also eigene nodes, die man dann nur verknüpfen muss, das erleichtert das dann!

so kann man dann super leicht mit knx und spsn reden, perfekt :D! ohne viel Last!


zitat..
denis schrieb: Die Hardware kann man sich natürlich selber zusammen basteln oder die Macher verkaufen sie auch für 75€ inkl SD Karte komplett.


würde mich auch sogar interessieren! fix fertig, wo bekomme ich das?







1
  •  denis
  •   Silber-Award
21.11.2019  (#38)
@uzi10 

Ich werde es versuchen. 

Also es gibt einmal die Hardware: 

Das ist ein Raspberry Pi Zero W inkl. Wifi (https://thepihut.com/products/raspberry-pi-zero-w?variant=30332705425)

Darauf sitzt ein RS485 HAT (https://thepihut.com/products/rs485-pizero?variant=26469099976)

Und es sitzt ein 12V HAT darauf (https://thepihut.com/products/wide-input-shim) 

Diese Hardware wird direkt an die Wärmepumpe angeschlossen. A und B vom RS485 + 12V. Man kann das Board also auch direkt von der WP WP [Wärmepumpe] mit den 12V versorgen lassen.

Dann haben wir das Raspberry PI Image: 

Wird wohl ein Debian Image (Raspbian) sein. (ich hab noch nicht rein geschaut) 

In diesem OS läuft der MQTT Broker (die Instanz welche die MQTT Nachrichten entgegennimmt und weiter verteilt). MQTT ist einfach ein "dummer" auf IoT (damit sehr simpel und leichtgewichtig im Protokoll) ausgerichteter Message Bus. Der Broker macht hier nix anderes als Nachrichten zu empfangen und weiterzuleiten.

Außerdem ist auf diesem System Node.js (https://nodejs.org/en/) vorinstalliert. Node.js ist Javascript auf Server Seite. Für Node.js wurde eine Anwendung geschrieben, die die harte Arbeit verrichtet. Sie kommuniziert über Modbus direkt mit der Wärmepumpe. Auf der anderen Seite nimmt sie die Modbus Nachrichten von der Wärmepumpe an und verteilt sie direkt über MQTT weiter. Hier hat jedes Register was empfangen wird sein eigenes Topic. Damit kann man auch von beliebigem MQTT Client per Subscribe auf diese gepublishten Topics und damit deren Werte zugreifen. 

Außerdem haben wir als dritte Komponenten noch Node RED installiert (basiert ebenfalls auf Node.js). Diese bekommt auch über MQTT die Werte und erlaubt Zusatzfunktionen per UI (Node RED Dashboard - https://flows.nodered.org/node/node-red-dashboard) anzusteuern wie steuern der Heizkurve über Temperaturvorhersagen etc. Diese Steuerungsmöglichkeiten sind aber alle für Deutschland eher noch uninteressant. 

Was macht das System Stable?: 

Raspberry PI Zero läuft für sich schon mal sehr stabil. Außerdem wird das Betriebssystem in einem Read Only Modus betrieben. Es wird nie auf die Speicherkarte geschrieben. 

Wie kann ich etwas wie Openhab oder ähnliches anbinden? 

Alle Daten sind per MQTT verfügbar. Damit subscribed man nur die entsprechenden MQTT Topics und bekommt damit automatisch vom Broker die entsprechenden Daten. Was man damit macht ist einem dann selbst überlassen. 
Hier kann man natürlich auch eine eigene NodeRED Instanz verwenden, die per MQTT Node die Daten in Empfang nimmt. (der ja auch nichts anderes macht als Topics zu subscriben)

Was bringt die Zukunft?: 

NodePI wird in Version 1.1 (ist die nächste Version) auch auf englisch zur Verfügung stehen. Außerdem wird die Node.js Anwendung, welche die harte Arbeit macht, als Node.JS Paket zur Verfügung stehen, damit kann man es überall integrieren wo man möchte. 
Und für die Node RED Anwender gibt es eben dann noch einen Node RED Node, welcher simpel Daten schicken, empfangen, anfordern kann und die Kommunikation zur Node.js Anwendung (Core) vor dem Nutzer verbirgt. 

Hardware woher?:

Wer selber basteln kann, kann sich die paar Komponenten selber zusammenstecken. 

Wer es kaufen möchte, muss in die FB Gruppe gehen. Hier wurde, weil eben die Nachfrage bestand, die Möglichkeit geschaffen fertige Hardware zu kaufen.
Dies ist aber weder ein offizieller Shop noch gibt es eine Shop Seite. Ich hab die Macher auf englisch angeschrieben und nach Deutschland könnte man es wohl für 75€ liefern. (+ Versand) Wenn generell Interesse besteht müsste man einfach mal ein Thema in der Facebook Gruppe auf englisch aufmachen und dementsprechend nochmal nachfragen.

Bin ich Vertreter von NodePI?:
Nein, ich habe dass nur alles aus dem Gespräch mit dem Macher gestern heraus gezogen. Sie sind sehr offen und beantworten alle Fragen auch auf englisch. 

4
  •  grofi
21.11.2019  (#39)
Danke für die Infos! Sehr spannendes Projekt!

Ich denke da muss ich mich in Zukunft auch wieder mehr mit Node und MQTT beschäftigen. Eine lokale Uplink Alternative wär schon ziemlich lässig.

1
  •  denis
  •   Silber-Award
21.11.2019  (#40)
Im Endeffekt kann man das Ding als "dumme" Komponente sehen, die an der Wärmepumpe hängt und die Daten der Wärmepumpe (20 Register + manuell angeforderte) per MQTT im Netzwerk zur Verfügung stellt. Damit ist es viel mehr Wert als das Modbus 20, kostet aber nur einen Bruchteil davon. emoji

2
  •  SMiak
  •   Bronze-Award
21.11.2019  (#41)

zitat..
denis schrieb: Das sind die möglichen Register ja. Sie werden aber nicht automatisch abgefragt. Die Wärmepumpe sendet von sich aus nur die per USB konfigurierten Register. (max 20) Alle dann zusätzlich manuell abgefragten sind ziemlich Ressourcen intensiv. (näheres in der FB Gruppe wo ich das auch Englisch beim Entwickler erfragt hatte)
Hier ist also kein Unterschied zu NibeGW. Kann auch nicht sein setzt ja immer auf der gleichen Modbus Schnittstelle auf.

 ja, da hast du recht.
Die nutzen auch nur das Nibegw von Openhab... Für die Nicht-Bastler ist das Projekt perfekt und scheint sehr ausgereift zu sein.

Wer es günstiger mag, muss basteln und Arduino nutzen emoji


1


Beitrag schreiben oder Werbung ausblenden?
Einloggen

 Kostenlos registrieren [Mehr Infos]


next