Integration von Nibe Wärmepumpen per RS485

Begonnen von matzefisi, 30 Juli 2014, 00:10:44

Vorheriges Thema - Nächstes Thema

vuffiraa

Zitat von: matzefisi am 15 November 2017, 08:27:52
Hi zusammen,

ich habe es bei mir mit einem RS485 zu USB Adapter am Raspi realisiert. Die 12 V Versorgung habe ich nicht angeklemmt und GND meine ich auch nicht. Bin mir aber gerade nicht sicher. Was bei mir allerdings in der Vergangenheit massive Probleme verursacht hat, war die Kabellänge zwischen Heizung und Raspi. Die habe ich jetzt auf ca. einen Meter gekürzt und seit dem läuft es ohne Probleme.

MfG
Matthias
Hierzu vielleicht noch, bei mir funktioniert es auf ca. 4m mit einem Adernpaar eines Cat5 Kabels.
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

en3rgy@web.de

#16
Die Daten können dann wie folgt abgefragt werden:

Gem. Modbus 40 Anleitung mit dem Programm ModbusManager die Parameter konfigurieren, die man auslesen möchte (von NIBE-Webseite).
Die mit dem ModbusManager generierte Datei auf einen USB-Stick laden und den Stick in die NIBE einstecken. Die Datei wird ohne weitere Rückmeldung ausgelesen.
Anschließend empfängt die FHEM-NIBE-Erweiterung die gewählten Daten.

fritzhugo123

Hallo zusammen,

ich habe mich nun auch einmal an der Verbindung meiner Nibe Heizung mit FHEM probiert.
Ein bißchen was funktioniert, aber leider noch nicht das, was ich mir erhofft habe.
Mir ist auch noch nicht alles bzgl. Einstellungen und Konfigurationen klar.

Das sind meine Hardwarevorraussetzungen:

Nibe VVM310
Raspberry Pi mit Digitus HM485 USB Adapter
FHEM mit den beiden Nibe Modulen

Folgendes habe ich bisher gemacht:

Die beiden Datenleitungen der Nibe sind mit dem RS485 Modul verbunden.
Nachdem ich MODBUS unter Zubehör in der VVM310 aktiviert habe, konnte ich zwei Readings in FHEM finden:

Readings
product VVM 310, 3x400V 2017-12-17 11:25:07
sw_version 5774 2017-12-17 11:25:07

Generell scheinen also Daten von der Nibe zu FHEM geschickt zu werden.

Folgende Fragen habe ich nun:

1) Die Nibe geht auf Störung, so wie ich gelesen habe liegt es daran, dass kein ACK zur Anlage zurück geschickt wird. Verstehe ich es richtig, dass die Module für FHEM nur einen lesenden MODBUS simulieren und keine ACKs aktiv senden?
2) Wie kann ich weitere Werte erhalten? Wenn ich es richtig verstanden habe, dann kann ich diese per Software und Konfigdatei per USB an die VVM übertragen und diese Werte dann freischalten?
3) Für das fehlende ACK gibt es eine Software mit dem Namen nibegw. Das wurde scheinbar allerdings bisher nur in openhab integriert. Gibt es eine Möglichkeit nibegw mit FHEM zu verknüpfen oder das Nibe Modul so zu erweitern, dass es mit nibegw zusammen arbeitet?

Zusätzlich habe ich scheinbar noch ein Problem mit FHEM und dem Digitus Adapter. Dieser wird als ttyUSB2 eingebunden.
Wenn er angeschlossen ist und FHEM neu gestartet wird, bleibt es bei der Erkennung der USB Geräte hängen. Die letzten Einträge aus dem Log sind folgende:

2017.12.16 17:39:41 3: Probing TCM_ESP3 device /dev/ttyUSB2
2017.12.16 17:39:42 3: Probing TCM_ESP2 device /dev/ttyUSB2
2017.12.16 17:39:42 3: Probing FHZ device /dev/ttyUSB2
2017.12.16 17:39:42 3: Probing TRX device /dev/ttyUSB2
2017.12.16 17:39:43 3: Probing ZWDongle device /dev/ttyUSB2
2017.12.16 17:39:43 3: Probing FRM device /dev/ttyUSB2

Vielleicht könnt ihr mir meine Fragen beantworten und bei meinen Problemen helfen.

Gruß, Matthias

vuffiraa

Zitat von: fritzhugo123 am 17 Dezember 2017, 12:14:54
Hallo zusammen,

ich habe mich nun auch einmal an der Verbindung meiner Nibe Heizung mit FHEM probiert.
Ein bißchen was funktioniert, aber leider noch nicht das, was ich mir erhofft habe.
Mir ist auch noch nicht alles bzgl. Einstellungen und Konfigurationen klar.

Das sind meine Hardwarevorraussetzungen:

Nibe VVM310
Raspberry Pi mit Digitus HM485 USB Adapter
FHEM mit den beiden Nibe Modulen

Folgendes habe ich bisher gemacht:

Die beiden Datenleitungen der Nibe sind mit dem RS485 Modul verbunden.
Nachdem ich MODBUS unter Zubehör in der VVM310 aktiviert habe, konnte ich zwei Readings in FHEM finden:

Readings
product VVM 310, 3x400V 2017-12-17 11:25:07
sw_version 5774 2017-12-17 11:25:07

Generell scheinen also Daten von der Nibe zu FHEM geschickt zu werden.

Folgende Fragen habe ich nun:

1) Die Nibe geht auf Störung, so wie ich gelesen habe liegt es daran, dass kein ACK zur Anlage zurück geschickt wird. Verstehe ich es richtig, dass die Module für FHEM nur einen lesenden MODBUS simulieren und keine ACKs aktiv senden?
2) Wie kann ich weitere Werte erhalten? Wenn ich es richtig verstanden habe, dann kann ich diese per Software und Konfigdatei per USB an die VVM übertragen und diese Werte dann freischalten?
3) Für das fehlende ACK gibt es eine Software mit dem Namen nibegw. Das wurde scheinbar allerdings bisher nur in openhab integriert. Gibt es eine Möglichkeit nibegw mit FHEM zu verknüpfen oder das Nibe Modul so zu erweitern, dass es mit nibegw zusammen arbeitet?

Zusätzlich habe ich scheinbar noch ein Problem mit FHEM und dem Digitus Adapter. Dieser wird als ttyUSB2 eingebunden.
Wenn er angeschlossen ist und FHEM neu gestartet wird, bleibt es bei der Erkennung der USB Geräte hängen. Die letzten Einträge aus dem Log sind folgende:

2017.12.16 17:39:41 3: Probing TCM_ESP3 device /dev/ttyUSB2
2017.12.16 17:39:42 3: Probing TCM_ESP2 device /dev/ttyUSB2
2017.12.16 17:39:42 3: Probing FHZ device /dev/ttyUSB2
2017.12.16 17:39:42 3: Probing TRX device /dev/ttyUSB2
2017.12.16 17:39:43 3: Probing ZWDongle device /dev/ttyUSB2
2017.12.16 17:39:43 3: Probing FRM device /dev/ttyUSB2

Vielleicht könnt ihr mir meine Fragen beantworten und bei meinen Problemen helfen.

Gruß, Matthias

Hallo Matthias,

ich versuche mal etwas Licht ins Dunkel zu bringen ;-)
Du scheinst die Verbindung und Fhem grundsätzlich hinbekommen zu haben. Ansonsten wären die Readings nicht im Modul zu finden.

Der Grund für die Installation über 2 Fhem-Module ist die Art der Kommunikation zur Nibe. Die Nibe möchte für jede Nachricht, die raus geschickt wird, ein ACK und das ziemlich direkt. Und das können die Module auch, aber eben nur ACK und keine eigenen Anfragen oder Kommandos. Bei mir laufen die Module stabil, ohne das die Nibe auf Alarm geht.

Außerdem laufen bei mir die Module mit Remote-Konfiguration auf einem Raspi, auf dem sonst nicht viel los ist. Meine Fhem-Hauptinstanz hat dann die Module nochmal mit der Master-Konfiguration definiert.

Mit dieser Installation liest das Remote-Fhem nur den Datenstrom aus der Nibe, trennt die Nachrichten und schickt jeweils ein ACK. Im Haupt-Fhem werden die Nachrichten dann aufgeparst und die Readings gefüllt. Durch diese Trennung konnte ich erreichen, dass die Nibe die ACKs rechtzeitig erhält und damit zufrieden ist.

Deine Fragen 1 und 3 sollten damit erklärt sein. Du hast wahrscheinlich alles in einer Fhem-Instanz zu laufen, und die ACKs kommen so nicht rechtzeitig bei der Nibe an.

Bei Frage 2 musst du den Nibe ModbusManager verwenden. Mit diesem Programm kann man die Werte definieren, die die Nibe dann kontinuierlich übermittelt. Das ist nicht spezielles für Fhem, sondern die Standartkonfiguration für das Modbus 40.

Bei dem USB Probing habe ich keine Ahnung, das hat bei mir noch keine Probleme gemacht. Das muss man bestimmt irgendwie konfigurieren ;-)

Viele Grüße
Vuffiraa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

fritzhugo123

Danke für die Antwort.

Das heißt ich nehme besser einen zweiten Raspberry, der nichts anderes tut also mit der Nibe verbunden zu sein und rechtzeitig die ACKs zu schicken.
Von diesem aus werden dann die Daten über FHEM2FHEM an die FHEM Hauptinstallation geschickt und verarbeitet?

Gibt es eine Möglichkeit zu kontrollieren, ob die ACKs geschickt werden und eventuell sogar irgendwo die Laufzeit zu sehen?

Kann mir jemand die 20 sinnvollsten Werte nennen? Die einzelnen erscheinen mir sehr kryptisch.

Gruß, Matthias

vuffiraa

Zitat von: fritzhugo123 am 17 Dezember 2017, 14:54:58
Danke für die Antwort.

Das heißt ich nehme besser einen zweiten Raspberry, der nichts anderes tut also mit der Nibe verbunden zu sein und rechtzeitig die ACKs zu schicken.
Von diesem aus werden dann die Daten über FHEM2FHEM an die FHEM Hauptinstallation geschickt und verarbeitet?
Die Datenübergabe erfolgt per FHEM2FHEM RAW. Ich weiß nicht genau, ob man das auch innerhalb eines Rechner hinbekommt. Vielleicht kann man auch 2 Fhem-Prozesse laufen lassen. Bei mir passte es so ganz gut, ich brauchte eh einen Raspi neben der Nibe.

Zitat
Gibt es eine Möglichkeit zu kontrollieren, ob die ACKs geschickt werden und eventuell sogar irgendwo die Laufzeit zu sehen?
Innerhalb der Nie-Module wird dazu kein Log geschrieben. Ich glaube aber, dass Fhem beim globalen Logging auf entsprechender Stufe herausschreibt, wenn etwas geschrieben wird. Nur leider dauert das Schreiben des Logs so lange, dass dann die ACKs nicht mehr rechtzeitig bei der Nibe ankommen.
Ansonsten kann ich bei mir direkt am RS485-Adapter sehen, ob Nachrichten über die Leitung gehen. Da gibt es eine rote LED für IN und eine grüne für OUT. Rot und grün wechseln sich da in schöner Regelmäßigkeit ab. Rot flackert etwas länger für eine Nachricht von der Nibe und dann blickt grün einmal für das ACK auf.
Zitat
Kann mir jemand die 20 sinnvollsten Werte nennen? Die einzelnen erscheinen mir sehr kryptisch.

Gruß, Matthias
Die Werte muss sich wohl jeder selber raussuchen, meine sind:

     Außentemperatur durchschnitt: BT1_Average     2.1
     Außentemperatur aktuell:      BT1_Outdoor_temp 1.8

     Fußboden Zulauf:       BT2_Supply_temp_S1 25.7
     Fußboden Rücklauf:     EB100-EP14-BT3_Return_temp 25.5
     Warmwasser Tank mitte: BT6_Hot_Water_load 44.3
     Warmwasser Tank oben:  BT7_Hot_Water_top 48.1
     Sole ein:              EB100-EP14-BT10_Brine_in_temp 10.3
     Sole aus               EB100-EP14-BT11_Brine_out_temp 10.9

     Lüftungsanlage ein: AZ1-BT26_Temp_Collector_in_FLM_1 22.3
     Lüftungsanlage aus: AZ1-BT27_Temp_Collector_out_FLM_1 19.7
     Ablufttemperatur:   EB100-BT20_Exhaust_air_temp. 22.4
     Rücklufttemperatur: EB100-BT21_Vented_air_temp. 22.7

     Kompressorstarts:        Compressor_starts_EB100-EP14 18613
     Betriebszeit Warmwasser: Tot._HW_op.time_compr._EB100-EP14 1291
     Betriebszeit total:      Tot._op.time_compr._EB100-EP14 9681
     Gradminuten:             Degree_Minutes  -65.8
     Anlagenstatus:           PCA-Base_Relays_EP14 2
     product                  F1245-6 E DE
     sw_version               7740

Da du aber einen anderen Typ hast, dürften sich die Werte etwas unterscheiden.
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

fritzhugo123

Ich bin einen Schritt weiter gekommen, aber leider nicht nicht am Ziel.

Ich habe einen weiteren Pi genommen und diesen an die NIBE angeschlossen. Die Verbindung funktioniert zu Beginn und ich erhalte auch die Daten.
Nach circa 2 Stunden melden die Nibe allerdings Kommunikationsfehler.
Fhem erhält noch aktuelle Daten, allerdings scheinen die ACKs zu lange zu dauern.
Irgendeine Idee, warum die Kommunikation nur eine gewisse Zeit funktioniert?
Das Ein- und Ausschalten von Modbus von der Nibe löst das Problem nicht.
Mit einem Abstecken und neuen Verbinden des RS485 Adapters funktioniert dier Verbinden erneut für ungefähr 2 Stunden.

Ich habe zusätzliche Werte mit dem Modbus Manager konfiguriert. Im Logfile von FHEM erhalten ich aber Fehlermeldungen:
2017.12.19 14:57:51 3: Nibe: Register 0 not defined
2017.12.19 14:57:51 3: Nibe: Register 44979 not defined
2017.12.19 14:57:51 3: Nibe: Register 0 not defined
2017.12.19 14:58:21 3: Nibe: Register 44033 not defined
2017.12.19 14:58:21 3: Nibe: Register 12 not defined
2017.12.19 14:58:21 3: Nibe: Register 44396 not defined
2017.12.19 14:58:21 3: Nibe: Register 0 not defined
2017.12.19 14:58:21 3: Nibe: Register 44979 not defined
2017.12.19 14:58:21 3: Nibe: Register 0 not defined
2017.12.19 14:58:51 3: Nibe: Register 44033 not defined
2017.12.19 14:58:51 3: Nibe: Register 12 not defined

Kann es sein, dass die FHEM Module nicht alle Register erkennen und darstellen können?

Gruß, Matthias

vuffiraa

Zitat von: fritzhugo123 am 19 Dezember 2017, 18:49:07
Ich bin einen Schritt weiter gekommen, aber leider nicht nicht am Ziel.

Ich habe einen weiteren Pi genommen und diesen an die NIBE angeschlossen. Die Verbindung funktioniert zu Beginn und ich erhalte auch die Daten.
Nach circa 2 Stunden melden die Nibe allerdings Kommunikationsfehler.
Fhem erhält noch aktuelle Daten, allerdings scheinen die ACKs zu lange zu dauern.
Irgendeine Idee, warum die Kommunikation nur eine gewisse Zeit funktioniert?
Das Ein- und Ausschalten von Modbus von der Nibe löst das Problem nicht.
Mit einem Abstecken und neuen Verbinden des RS485 Adapters funktioniert dier Verbinden erneut für ungefähr 2 Stunden.

Ich habe zusätzliche Werte mit dem Modbus Manager konfiguriert. Im Logfile von FHEM erhalten ich aber Fehlermeldungen:
2017.12.19 14:57:51 3: Nibe: Register 0 not defined
2017.12.19 14:57:51 3: Nibe: Register 44979 not defined
2017.12.19 14:57:51 3: Nibe: Register 0 not defined
2017.12.19 14:58:21 3: Nibe: Register 44033 not defined
2017.12.19 14:58:21 3: Nibe: Register 12 not defined
2017.12.19 14:58:21 3: Nibe: Register 44396 not defined
2017.12.19 14:58:21 3: Nibe: Register 0 not defined
2017.12.19 14:58:21 3: Nibe: Register 44979 not defined
2017.12.19 14:58:21 3: Nibe: Register 0 not defined
2017.12.19 14:58:51 3: Nibe: Register 44033 not defined
2017.12.19 14:58:51 3: Nibe: Register 12 not defined

Kann es sein, dass die FHEM Module nicht alle Register erkennen und darstellen können?

Gruß, Matthias

Hallo Matthias,

ich habe gerade mal in die aktuelle Version vom ModbusManager geschaut, da sind einige Register dazu gekommen. Die müssen im Modul ergänzt werden. Fehlen bei dir nur die 3 Register, die man in dem Ausschnitt sieht? Die kann ich bestimmt recht schnell ergänzen.

Warum das bei dir nur 2 Stunden funktioniert, ist mir noch nicht klar. Hast du etwas anderes auf dem Raspi zu laufen, was nach den 2 Stunden Last erzeugt? Vielleicht kannst du auch mal ein "list <device>" der einzelnen Geräte bei dir hier einstellen. Wie sieht den die Speicherauslastung in den 2 Stunden aus? Oder wird irgendwo ein Log geschrieben, dass nach 2 Stunden dann so groß wird, dass es den Raspi ausbremst.

Was musst du tun, wenn der Fehler auftritt? Ab- und Anstecken hilft wohl. Ein Neustart des Raspi oder von Fhem ist nicht notwendig? Ich kann bei mir einen Fehler auch an der Nibe zurücksetzen. Wobei ich einen Fehler innerhalb des letzten halben Jahres nur einmal hatte, ohne das es einen Grund (Stromausfall, Raspi reboot...) gab.

Viele Grüße
Vuffiraa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

vuffiraa

Hallo Matthias,

ich habe die Register mal versuchsweise ergänzt. Du kannst mal die neue Version probieren: https://raw.githubusercontent.com/matzefisi/fhem-70_NIBE/devio/71_NIBE.pm

Gruß Ulf
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

fritzhugo123

Hallo Ulf,

vielen Dank für die Ergänzung. Nun fehlen noch folgende Werte:

2017.12.20 10:31:16 3: Nibe: Register 40940 not defined
2017.12.20 10:31:16 3: Nibe: Register 65480 not defined
2017.12.20 10:31:16 3: Nibe: Register 40941 not defined
2017.12.20 10:31:16 3: Nibe: Register 12 not defined

Wegen des Kommunikationsfehlers muss ich noch weiter schauen. Neben der FHEM Installation läuft auf dem Pi nichts, so dass eigentlich nichts stören sollte.
Beim ersten Fehler half das Zurücksetzen des Fehlers in der NIBE nicht, er kam direkt wieder.
In den letzten 24 Stunden ist er nur einmal aufgetreten und ein Zurücksetzen hat gereicht.

Gruß, Matthias

vuffiraa

Zitat von: fritzhugo123 am 20 Dezember 2017, 10:36:26
Hallo Ulf,

vielen Dank für die Ergänzung. Nun fehlen noch folgende Werte:

2017.12.20 10:31:16 3: Nibe: Register 40940 not defined
2017.12.20 10:31:16 3: Nibe: Register 65480 not defined
2017.12.20 10:31:16 3: Nibe: Register 40941 not defined
2017.12.20 10:31:16 3: Nibe: Register 12 not defined

Wegen des Kommunikationsfehlers muss ich noch weiter schauen. Neben der FHEM Installation läuft auf dem Pi nichts, so dass eigentlich nichts stören sollte.
Beim ersten Fehler half das Zurücksetzen des Fehlers in der NIBE nicht, er kam direkt wieder.
In den letzten 24 Stunden ist er nur einmal aufgetreten und ein Zurücksetzen hat gereicht.

Gruß, Matthias

Ich habe nur den Register 40940 gefunden, die anderen gibt es bei mir nicht. Die habe ich ergänzt.

Welche Version vom ModbusManager nimmst du und welches Modell ist ausgewählt?

Gruß Ulf
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

fritzhugo123

Ich habe den Modbus Manager in der Version 1.0.9 und als Anlage die VVM310

vuffiraa

Zitat von: fritzhugo123 am 20 Dezember 2017, 12:17:41
Ich habe den Modbus Manager in der Version 1.0.9 und als Anlage die VVM310

Hmm, die benutze ich auch. Kannst du mir mal deine Konfigdatei zukommen lassen? Oder hast du die Namen aller Modbus-Variablen?
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

fritzhugo123

So langsam gehen mir die Ideen aus...

Ich habe die Verbindung nun mit einem Banana Pi und einem Raspberry PI probiert.
Ausserdem habe ich den RS485 USB Adapter verwendet, als auch das RS485 Aufsteckmodul.
Ich habe die Daten direkt vom PI auswerten lassen oder sie per FHEM2FHEM an einen anderen Raspberry geschickt.
Das Kabel habe ich soweit verkürzt, dass der Raspberry fast direkt an der Heizung steckt.
Trotz aller Versuche ist die Verbindung maximal 2 Stunden stabil.
Dann erhalte ich von der Nibe einen Kommunikationsfehler zwischen Anlage und MODBUS Einheit und die Lampe wird rot.
Scheinbar funktioniert die Heizung ansich weiter, allerdings ist dann der Alarm sichtbar.

Hat jemand noch eine Idee was ich machen kann, damit die Verbindung stabil läuft?

vuffiraa

Zitat von: fritzhugo123 am 09 Januar 2018, 10:15:23
So langsam gehen mir die Ideen aus...

Ich habe die Verbindung nun mit einem Banana Pi und einem Raspberry PI probiert.
Ausserdem habe ich den RS485 USB Adapter verwendet, als auch das RS485 Aufsteckmodul.
Ich habe die Daten direkt vom PI auswerten lassen oder sie per FHEM2FHEM an einen anderen Raspberry geschickt.
Das Kabel habe ich soweit verkürzt, dass der Raspberry fast direkt an der Heizung steckt.
Trotz aller Versuche ist die Verbindung maximal 2 Stunden stabil.
Dann erhalte ich von der Nibe einen Kommunikationsfehler zwischen Anlage und MODBUS Einheit und die Lampe wird rot.
Scheinbar funktioniert die Heizung ansich weiter, allerdings ist dann der Alarm sichtbar.

Hat jemand noch eine Idee was ich machen kann, damit die Verbindung stabil läuft?

Aus der Ferne ist das schwierig, außer erst mal so allgemeine Sachen.
Wie ist die Auslastung auf deinem PI?
Was nimmst du für ein Kabel?

Grundsätzlich scheint es ja zu gehen. 2 Stunden ist schon relativ lang. Es könnte alles mögliche sein, was die Kommunikation stört.
Versuche mal ein Log auf dem Log zu schreiben. Ich bin mir nicht sicher, ob das geht, da dann die ACKs zu spät kommen. Eventuell wird auch alle 2 Stunden eine andere Art von Nachricht über den Draht geschickt, die das Modul noch nicht kennt.

Die Anlage funktioniert auch trotz der Alarm-Meldung normal weiter.
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean