« Heizung, Lüftung, Klima  |

DIY Alternative zu Nibe Modbus Modul

Teilen: facebook    whatsapp    email
 
 <  1  2 ... 3 ... 39  40  41  42 ... 43 ... 49  50  51  > 
  •  chrismo
  •   Gold-Award
29.1.2019 - 25.4.2024
1.009 Antworten | 62 Autoren 1009
127
1136
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

  •  Casemodder
  •   Gold-Award
25.1.2022  (#801)
Danke @Becker und @heinzi00  !!!

1
  •  fudi6489
  •   Silber-Award
30.1.2022  (#802)
Ist es eigentlich möglich den Rasperry mit aufgebauten RS485 HAT mit @Becker nibepi Konfiguration auch zum Auswerten dieses/mehrer RS485 Zählers zu verwenden?

https://www.voltus.de/elektromaterial/verteilereinbau/stromzaehler-o/drehstromzaehler/eastron/eastron-sdm72dm-v2-mid-3-phasen-zweirichtungs-wechselstromzaehler.html

Wäre fein wenn ich mir einen Raspberry bzw RS485-KNX Gateway sparen könnte

1
  •  uzi10
  •   Gold-Award
30.1.2022  (#803)
Sollt eig mit einen Dongle.gehen.
Aber ich nehm immer lieber die 630er

1
  •  Becker
  •   Gold-Award
1.2.2022  (#804)
ich habe am USB RS485 4x SDM Modbus Zähler die ich im 2s Takt auslese (in NodeRed):

2022/20220201679424.jpg

Auswertung pro Monat in Grafana:
[url=https://ibb.co/LJY06DB]
https://i.ibb.co/LJY06DB/dsd.pngBildquelle: https://i.ibb.co/LJY06DB/dsd.png[/url]

1
  •  fudi6489
  •   Silber-Award
1.2.2022  (#805)
Du nutzt aber einen eigenen Raspberry dafür oder?
Mein primäres Ziel wäre es keine zusätzliche Hardware mehr anzuschaffen, weißt du ob das auch funktioniert mit dem nach deiner Anleitung konfigurierten Raspy?

LG Jürgen


1
  •  Becker
  •   Gold-Award
1.2.2022  (#806)
prinzipiell schon.
Du hast einen RS485 Adapter für die Wärmepumpe und einen für die Zähler.
Wenn du 1x USB und 1x seriell nimmst -> kein Problem.
Wenn du 2x den 2€ USB Adapter nutzt hast du folgendes Problem: bei jedem Restart musst du Adapter #2 vorher raus ziehen und hinterher wieder rein stecken, damit ttyUSB0 und ttyUSB1 nicht vertauschen.
Oder du nimmst 2 verschiedene USB Adapter, die kann man dann mit einem Kniff per Serien Nr. zuordnen und dauerhaft definieren.
Ich hatte mal beim Kollegen geschaut der 2x den 2€ Adapter nutzt, dieser hat keine Serien Nr. - aber bei ihm läuft schon einige Zeit NibePi + SDM so zusammen.
Habe ihm gesagt bei einem reboot muss er #2 raus ziehen, fertig.

Und ja ich nutze den RPi3 für NibePi / MQTT.
RPi4 für Wechselrichter, Batterie Steuerung, Grafana, Wireguard, PiHole, SAE, InfluxDB.
Hat sich so ergeben, da die WP WP [Wärmepumpe] drinnen steht und die Zähler in der Garage.

2
  •  fudi6489
  •   Silber-Award
2.2.2022  (#807)
Danke, dann bestell ich mal die Zähler und einen USB RS485 Adapter.
Wenn alles eingebaut ist, werd ich sicher nochmals lästig sein 😘 

1
  •  fudi6489
  •   Silber-Award
7.2.2022  (#808)
Irgendwie is der Wurm drinnen.... 😞

Ich wollt heute einmal ein paar Variablen in die Edomi-Visualisierung intergrieren und musste beobachten dass ein paar Register trotz 34h Laufzeit noch nicht via MQTT gesendet wurden.

Wenn ich einen Flow mit den selben Eingangsregistern wie @Becker erstelle, werden in Nodered innerhalb weniger Sekunden alle Nodes bis auf 42406 (den gibts laut Nibe Registerliste auch nicht, eventuell 42441-ist aber denke ich die aktive Kühlung) mit den korrekten Eingangswerten bespielt.

Leider scheitert es dann vermutlich irgendwo an der Weitergabe.
Für mein Verständnis:
Alle Register die ich über die log.set Datei in die Wärmepumpe eingespielt habe, sollten laut Modbus 40 Anleitung im Sekundentakt (oder wahrscheinlich im Intervall des USB Menüs der Wärmepumpe angegeben Werts ) gesendet werden.

Ich schnüffle jetzt schon ein paar Stunden in Nodered/MQTT/Edomi mit und irgendwie werden nur die Werte die sich geändert haben gesendet aber nicht in einem Intervall.
Nach einer längeren Zeit werden natürlich die meisten mit Werte befüllt, aber dies sollte doch zyklisch geschehen oder lese ich hier die Modbusanleitung falsch.

"Die in der 20 MODBUS 40  LOG.SET-Datei aufgeführten Parameter werden zweimal
pro Sekunde abgerufen. Die restlichen Parameter werden jeweils nach 2,1 s abgerufen."

Wie kann ich das "jeweils nach 2,1s abgerufen" verstehen? Alle werden in einem 2,1sek Intervall abgerufen, oder die Register werden nacheinander, also alle 2,1sek 1 Register abgerufen?

Wenn ich meinen Visualisierungsserver einmal neu starte, wäre es sehr unangenehm wenn ich dann wieder xx Stunden warten muss bis die Werte befüllt sind.

So sende ich weiter:


2022/20220207726903.jpg

Hier Register 40008 welches in der Log.set Datei ist und mMn eigentlich zyklisch gesendet werden sollte, aber nur bei Änderung geschickt wird


2022/20220207229350.jpg

Registerliste nach 34h/1h
Erste Spalte sind die Register aus der Log.set Datei
Zweite Spalte die Register die nicht in der Log.set Datei sind aber bespielt wurden
Dritte Spalte die Register die nicht bespielt wurden

Liebe Grüße
Jürgen



1
  •  Becker
  •   Gold-Award
8.2.2022  (#809)
Korrekt, die Register der Log.Set werden alle 2s aktualisiert.

Die restlichen je nach dem wie viele es sind entsprechend langsamer.
Bei mir in unter 1min (45-55s irgendwo).

Du hast alles an den oberen Ausgang angeschlossen, hier wird nur ein Wert bei Änderung ausgegeben.
Beim unteren Ausgang jedes Mal (2s bzw. längeres Intervall) !

P.S. ich sehe keine 1. oder 2. Spalte.

2
  •  Kollisionskurs
11.2.2022  (#810)
Hallo zusammen,
auch ich habe mir einen NibePi zusammengebastelt - danke an die Anleitung von @Becker
Jetzt möchte ich die Daten via MQTT an Edomi übertragen. Was mir allerdings fehlt bzw. ich eventuell gerade zu blind dafür bin:

welche Register-Adresse gibt Auskunft über den System-Status:
- Standby/Idle, Heizung, Kühlung, Warmwasser ??
Oder wie habt Ihr das gelöst ?
thx!


1
  •  Becker
  •   Gold-Award
11.2.2022  (#811)
die beiden:

2022/20220211969625.png
M = msg.payload[43086];
K = msg.payload[43024];
var B;
if(M == 10 && K == 0) {
    B = "aus";
}
else if(M == 20) {
    B = "Warmwasser";
}
else if(M == 30) {
    B = "Heizen";
}
else if(M == 10 && K == 1) {
    B = "passive Kühlung";
}
msg.payload = B;
return msg;

Hier mein aktueller flow:
https://drive.google.com/file/d/1RISe4n-zFLxlQbzzt_o8WTaYSdVUEiHj/view?usp=sharing

(mit MQTT Anbindung zu meinem anderen RPi)



1
  •  Kollisionskurs
11.2.2022  (#812)

zitat..
Becker schrieb:

die beiden:
...

top, vielen Dank!


1
  •  Kollisionskurs
17.2.2022  (#813)
@Becker Ich habe noch eine Frage zu Deinem Flow bzw. hab ich in node-red generell noch nicht den großen Plan. Kann ich irgendwie selektieren das nur bestimmte Register via MQTT zur Verfügung stehen ? Für edomi benötige ich nur einige wenige bzw. würde es den Logikbaustein in edomi auch entlasten ...
thx!

1
  •  Becker
  •   Gold-Award
17.2.2022  (#814)
Ja klar, habe bei mir bloß VL,RL,Hz,WWo,AT,RT,Betriebsmodus,GM & Th. Leistung als MQTT verknüpft.
Edomi kenne ich nicht, aber eigentlich könntest du alles per MQTT in den Broker (Mosquitto) schreiben und in Edomi nur das abrufen, was du benötigst.

So läuft es bei mir mit der Ladestation (openWB), dort wird intern alllllles per MQTT geschrieben, aber ich rufe mir nur das ab was mich interessiert.

Hier die MQTT von meinem Nibe flow eingekreist:

2022/20220217911065.png

1
  •  Becker
  •   Gold-Award
28.2.2022  (#815)

2022/20220228334855.png

hab eine Rückabfrage der InfluxDB gebaut um Tages, Monats und Jahreswerte minütlich zu berechnen.

1
  •  jaydee73
11.3.2022  (#816)

zitat..
JanRi schrieb:

49874 ist z.B. die minimale WT-Geschwindigkeit.

Sowas bekommt man ganz leicht raus: Man ändert per Hand den Parameter der Wahl und schaut danach in die Änderungsprotokollierung. Da steht nämlich die Registernummer drin.

Viele Grüße,

Jan


Hi Jan,

ich hätte bzgl. Register 49874 eine Frage: Welcher Menüpunkt in der GUI der NIBE ist denn das, wo dieses Register geändert wird? Minimale WT-Geschwindigkeit ist ja ungleich "WT-Standby-Drehzahl". Zumindest hat WT-Standby-DZ eine andere Registernummer.

Gruß,
Stefan


1
  •  GeoPod
14.3.2022  (#817)
Wisst Ihr vielleicht ob es Register für die ERS gibt?
Wir haben den S1255-6 mit einer ERS 10-500. Hab noch nirgens etwas von Registern über die Lüftungsanalge gelesen...

1
  •  jaydee73
28.3.2022  (#818)
@Becker @JanRi : Auch auf die Gefahr hin, dass ich nerve 😇: Weiß einer von euch, in welchem Menüpunkt der Bedienoberfläche der F1x55 ich den Wert für Register #49874 finde? (siehe Beitrag #816).

Tausend Dank!

1
  •  fudi6489
  •   Silber-Award
28.3.2022  (#819)
Bei mir kommts seit ein paar Wochen vermehrt zum Fehler:

"Kommunikationsfehler zwischen Wärmepumpe und MODBUS-Einheit"

Danach leuchtet die rote Lampe an der Wärmepumpe, die Gradminuten werden genullt und die Heizung verweigert ihren Dienst bis der Fehler entweder von selbst oder durch stromlos-machen des Raspberry verschwindet.

Wie kann ich der Ursache des Fehlers auf die Schliche kommen? Wo kann ich die Logdatei auslesen?
 
Liebe Grüße
Jürgen


1
  •  uzi10
  •   Gold-Award
28.3.2022  (#820)

zitat..
fudi6489 schrieb:

Bei mir kommts seit ein paar Wochen vermehrt zum Fehler:

"Kommunikationsfehler zwischen Wärmepumpe und MODBUS-Einheit"

Danach leuchtet die rote Lampe an der Wärmepumpe, die Gradminuten werden genullt und die Heizung verweigert ihren Dienst bis der Fehler entweder von selbst oder durch stromlos-machen des Raspberry verschwindet.

Wie kann ich der Ursache des Fehlers auf die Schliche kommen? Wo kann ich die Logdatei auslesen?

 

Liebe Grüße
Jürgen

hatte ich heut abend auch so 5x aber der nibepi hat das brav quittiert und weiter gemacht.
im Internet, wennst dich auf der Anlage im Uplink anmeldest. aber da steht nur drin das die modbus verbindung unterbrochen war

1
  •  uzi10
  •   Gold-Award
30.3.2022  (#821)
ok die Nacht hatte ich um die 20 Ausfälle per Mail bekommen. Komisch sonst lauft alles und Software ist ja auch noch Steinalt

1


Beitrag schreiben oder Werbung ausblenden?
Einloggen

 Kostenlos registrieren [Mehr Infos]


next