« Heizung, Lüftung, Klima  |

DIY Alternative zu Nibe Modbus Modul

Teilen: facebook    whatsapp    email
 
 <  1  2 ... 3 ... 28  29  30  31 ... 32 ... 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

  •  KoMa
18.12.2020  (#581)
Na du hast doch aktuell ein funktionierendes System aus dem fertigen Image oder?
Dann kopiere doch den Inhalt der config Datei einfach von hier.

Ich meine ich habe nur die Einstellungen unter Register angepasst, damit diese per MQTT exportiert werden.

Das sieht bei mir dann so aus (ich brauch nicht alle Werte und nutze die Anbindung nur zum Lesen bestimmter Werte für Grafana/ioBroker):

{
  "version": "1.1",
  "registers": [
    40004,
    40008,
    40012,
    40013,
    40014,
    40015,
    40016,
    40018,
    40019,
    40022,
    40025,
    40026,
    40028,
    40029,
    40033,
    40067,
    40072,
    42437,
    42439,
    42445,
    42447,
    43009,
    43081,
    43084,
    43163,
    43171,
    43239,
    43416,
    43420,
    43424,
    43427,
    43431,
    43433,
    43435,
    43437,
    43439,
    45001,
    47041,
    48043,
    48132
  ],
  "connection": {
    "enable": "serial",
    "series": "fSeries"
  },
  "serial": {
    "port": "/dev/ttyAMA0"
  },
"system": {
    "readonly": true,
    "language": "DE",
    "pump": "F1245",
    "firmware": 9240,
    "auto_update": true,
    "id": "XXXXXXXXXX"
  },

1
  •  Becker
  •   Gold-Award
18.12.2020  (#582)
Die config.json kann ich einfach vom alten System einfügen vorerst

aber ich komme nicht weiter wenn es nicht funktioniert und beim Neustart die config.json wieder leer (default) ist.

oder wenn ich mal einen neuen Register hinzufügen sollte und er das nicht automatisch in die config schreibt so wie jetzt. Da muss ja irgendein Automatismus hinter stecken 😳

1
  •  Becker
  •   Gold-Award
19.12.2020  (#583)
ich habs noch mal probiert.
Nach dem installieren von NibePi habe ich meine alte config.json rüber kopiert und die bleibt auch so.
Aber wenn ich meinen Flow importiere wird kein einziges Register abgefragt.
Habe dann zig Versionen der config.json probiert, auch deine.
Irgendwann hat er sie dann wieder resettet.

Ich kann machen was ich will, kein Register funktioniert.

Braucht man noch irgendeinen Treiber für das RS485 Modul ?

Was ich noch nirgends gesehen habe ist "ID: xxx" <-- was ist das?

P.S.
das ist die default config die er immer läd:

{
  "version": "1.1",
  "registers": [],
  "connection": {
    "enable": "serial",
    "series": "fSeries"
  },
  "serial": {
    "port": "/dev/ttyAMA0"
  },
  "home": {
    "adjust_s1": 0,
    "adjust_s2": 0
  },
  "mqtt": {
    "enable": false,
    "host": "127.0.0.1",
    "port": "1883",
    "user": "",
    "pass": "",
    "topic": "nibe/modbus/"
  },
  "system": {
    "readonly": true,
    "language": "SE"
  },
  "hotwater": {
    "enable_autoluxury": false,
    "diff": 20,
    "time": 10,
    "enable_hw_priority": false
  },
  "log": {
    "enable": false,
    "info": false,
    "core": false,
    "debug": false,
    "error": true
  },
  "indoor": {
    "dm_reset_enable": false,
    "dm_reset_enable_stop": false,
    "dm_reset_stop_diff": 0.7,
    "dm_reset_slow_diff": 0.3
  },
  "fan": {
    "co2_limit": 800,
    "low_cpr_freq": 40
  },
  "tcp": {}
}

wenn ich dort ein Register eintrage und Node Red starte sagt er:

2020/20201219952313.png
"config not found" und ich habe wieder die obige default leere config da

1
  •  Becker
  •   Gold-Award
19.12.2020  (#584)
P.S.2:

Fredrik Anerdin
Im not sure. But you might need to install The libraries for serialport on your own.

fehlen da tatsächlich nur Treiber?

1
  •  KoMa
20.12.2020  (#585)
Welcher Rechte hat denn die /etc/Nibepi/Config.json?

darf der User Pi auf die Datei zugreifen?

bzgl des Treibers: erstmal kommt es drauf an wie die Anbindung gemacht wurde, mit nem USB Adapter oder mit nem Hat. Dementsprechend muss dann /dev/... angepasst werden. 

die Serialport.o ist meines Wissens ne Library von Node. Das hat aber erstmal mit der Config.JSON noch nichts zu tun. 


1
  •  Becker
  •   Gold-Award
20.12.2020  (#586)
Hat!
Welche rechte muss er denn haben? Wie stelle ich die ein und wie überprüfe ich das?


1
  •  grofi
  •   Bronze-Award
20.12.2020  (#587)
Ich habe einen RPI1 mit USB-RS485-Schnittstelle laufen (https://secure.reichelt.at/at/de/raspberry-pi-usb-rs485-schnittstelle-ch340c-rpi-usb-rs485-p242783.html?&nbc=1) und habe auf USB umstellen müssen:

"serial": {
    "port": "/dev/ttyUSB0"
  },

1
  •  KoMa
20.12.2020  (#588)
Ja bei HAT ist es aber schon korrekt eingestellt. 

die config.json sollte Besitzer pi haben und mind rw-r--r-- haben  
einfach mal mit "ls -la /etc/nibepi/" prüfen und ggf. mit chown und chmod setzen. 


1
  •  Becker
  •   Gold-Award
20.12.2020  (#589)
Danke, kannst du mir den passenden Befehl schreiben?
Chown und chmod sind für mich noch ein kleines Rätsel.
edit

2020/20201220941110.png
daran liegts nicht

edit2
der Serial Port war deaktiviert, hab ihn aktiviert, aber leider immer noch keine Verbindung.

edit3
wenn ich NR starte sagt er immer error in the core:

2020/20201220535639.png

edit4
es stimmt was nicht mit der seriellen Schnittstelle.
Ich habe sie erst mal aktiviert und dann noch folgendes ausgeführt:

zitat..

Beim internen Lesen serieller Daten wird ein sogenannter UART verwendet. Alle Himbeermodelle haben mindestens 2 UARTs, Nummer 0, was ein normaler UART ist, und Nummer 1, ein Mini-UART mit viel eingeschränkteren und sehr restriktiveren Kapazitäten.
In der Vergangenheit wurde standardmäßig UART 0 verwendet. Da dies jedoch nicht mehr auf Version 3 umgestellt wird, wird es jetzt zur Verwaltung des Bluetooth-Chips verwendet. Wenn Sie einen Raspberry Pi 3 oder ein neueres Modell verwenden, müssen Sie dieses Verhalten daher ändern und Bluetooth deaktivieren.
Führen Sie dazu die folgenden Befehle aus:
echo "dtoverlay=disable-bt" | sudo tee -a /boot/config.txt
sudo systemctl disable hciuart
sudo reboot

geht immer noch nicht

aah ich dreh durch, ich kriege es wohl nicht hin den RS485 Hat zu aktivieren als ttyAMA0

1
  •  KoMa
21.12.2020  (#590)
Das sieht mir eher danach aus als wenn du nbepi und/oder nodejs als User Root I stalkier hast und nicht unter dem User Pi.

tty unknown besagt er weiß nicht welchen TTY (welche serielle Schnittstelle) er nehmen soll. 

ich würde empfehlen nodejs und alles was dazu gehört nochmal runterzuwerfen und neu zu installieren. Ist ja schnell gemacht. Und dann darauf achten, vor der Installation "su pi"zu machen, damit die Installation unter diesem User erfolgt. 


1
  •  Becker
  •   Gold-Award
21.12.2020  (#591)
Ich habe Node Red so installiert:
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered) danach ins NR Verzeichnis gewechselt und
npm install --save anerdins/node-red-contrib-nibepi#master ohne sudo
das war also falsch?
"su pi" habe ich noch nie gemacht

ich muss doch irgendwie noch den RS485 aktivieren oder nicht?

1
  •  Becker
  •   Gold-Award
21.12.2020  (#592)
Es läuft endlich mit /serial0 statt ttyAMA0
Aber er meckert:

2020/20201221184806.png
TTY=unkown - ist das irgendwie schlimm?

1
  •  Becker
  •   Gold-Award
21.12.2020  (#593)
habs endlich hin bekommen.

Zuerst muss man beim RPi3 die serielle Schnittstelle "frei machen", denn dort ist das Blutooth Modul dran:

sudo nano /boot/config.txt  -> dort
 dtoverlay=pi3-disable-wifi 
 dtoverlay=pi3-disable-bt

am Ende anhängen.
sudo systemctl disable hciuart 

sudo raspi-config
--> 'Interfacing Options'
--> 'P6 Serial'
'Would you like a login shell to be accessible over serial?' --> NO
'Would you like the serial port hardware to be enabled?' --> YES
Finish raspi-config

sudo nano /boot/config.txt <-- hier muss am Ende "enable_uart=1" hinzugefügt sein.
sudo reboot

ls -l /dev -> prüfen ob serial0 -> ttyAMA0 ist

Ich hätte mir wohl viel Leid erspart, wenn ich einen USB RS485 genommen hätte, aber so hab ich wenigstens was gelernt 😉.

TTY=unkown kommt immer noch, trotz ttyAMA0 - keine Ahnung warum, läuft auf jeden Fall.

Beim ersten Start von Node RED gibt es noch keine config.json, weiß auch nicht, irgendwann kam sie mal. Habe dort nur das fett markierte geändert:
  "system": {
    "readonly": false,
    "language": "DE",
    "pump": "F1255",
    "firmware": 9240,
    "auto_update": false,
    "id": "..."

angepasst.
Im clean_image1.1 gibt es keine ID 😯 egal

1
  •  Klartext
  •   Bronze-Award
22.12.2020  (#594)
Also das bestehende "Clean" Image kann man mit diesem Befehl aktualisieren (Nodered und das Serial Plugin davor aktualisieren)
"sudo mount -o remount,rw / && cd /home/pi/.node-red && npm uninstall node-red-contrib-nibepi && npm install --save anerdins/node-red-contrib-nibepi#master && sudo service nodered restart"

Ne frage am Rande wenn, ist die Berechnung der Arbeitszahl so richtig?
("Vorlauftemp."-"Rücklauftemp")*"Volumenstrom"*69.457)/"Watt vom Stromzähmer"

1
  •  Becker
  •   Gold-Award
22.12.2020  (#595)
Natürlich ist das richtig. Ein paar % schwankt die Dichte je nach Temperatur des Heizwassers, aber da fällt die Toleranz der 3 Sensoren (VLT,RLT& Vol.strom) mehr ins Gewicht !
Ich habe mehrere Tabellen gewälzt und mich dann irgendwann auf eine sinnvolle Dichte festgelegt.
Siehe auch: https://www.energiesparhaus.at/forum-nibe-f1255-6-aktuell-abgegebene-waermemenge-berechnen/59276

Ein Update von einem für RO optimierten uralten minimal-"Stretch" Image erscheint mir nicht als sinnvoll, daher wollte ich es für mich selber einrichten als RW mit dem akutellen "Buster".

2
  •  Andreas90
22.12.2020  (#596)
Vielen Dank
Auffällig ist bei mir das die Verdichterleistung bei 150W und der gemessene Strom bei 240W (ca.) ist also weit mehr als die 20W Standby (denke an Verluste Frequenzumrichter ez.?)
Arbeitszahl trotzdem bei 7 :) 

Mit den os muß ich dir absulut recht geben, alles neu sauber Aufgesetzt wäre sehr fein (momentan bin ich aber schon froh das alles ohne Probleme funktioniert, never touch a running System)

1
  •  Becker
  •   Gold-Award
22.12.2020  (#597)
bei mir passt es ziemlich genau:

2020/20201222607596.png

Per SAE vom S0 Zähler ausgelesen:

2020/20201222357120.png

Auf die Inverter Ø Leistung von 210W addiere ich 20W (für Steuerung L1) und bin bei 230W als Quotient für die COP Berechnung:

2020/20201222391608.png

Das ist schon ziemlich genau meiner Meinung nach.
Für noch genauer bräuchte man einen Modbus Zähler für die WP WP [Wärmepumpe].

1
  •  chrismo
  •   Gold-Award
22.12.2020  (#598)

zitat..
Becker schrieb: Auf die Inverter Ø Leistung von 210W addiere ich 20W (für Steuerung L1) und bin bei 230W als Quotient für die COP Berechnung:

Weiß jemand wie die Phasenaufteilung der F1155er ist? Die WP WP [Wärmepumpe] ist bei uns an zwei Sicherungen (1x dreiphasig, 1x einphasig) angeschlossen. Und ich habe da zwei entsprechende S0 Zähler angeschlossen. Soweit ich weiß, hängen am dreiphasigen Verdichter und der Heizstab drauf, aber was alles ist auf dem Einphasigen drauf? Denn die durchschnittliche Leistung ist da 59W, was viel für nur Steuerung wäre.

Ich dachte zuerst, dass ich da was falsch berechne bei der Umrechnung von den Impulsen auf Watt, aber auch wenn ich den Zählerstand direkt ablese, komme ich auf ähnlich hohe Werte.

1
  •  uzi10
  •   Gold-Award
22.12.2020  (#599)
Glaub auf Phase 1 hängt Kompressor und Steuerung, wenn der 230V Automat extra ist, könnte man da die Phase tauschen.

1
  •  chrismo
  •   Gold-Award
22.12.2020  (#600)
Ich habe jetzt Mal im Anschlussplan nachgesehen. Der einphasige 230V Anschluss geht auf X11 "externe Steuerspannung". Der dreiphasige 3x400V auf X1, Verdichter und Heizpatrone.  Und die werden getrennt gezählt bei uns.

2020/20201222755034.png

Wie gesagt, mich wundert es, dass der Zähler für die Steuerung (X11) im Schnitt 50W verbraucht (kurzzeitig auch 70W und mehr). Oder hängen da die Pumpen auch drauf? Dann würde es wieder passen. 

1
  •  Becker
  •   Gold-Award
22.12.2020  (#601)
L1: Steuerung/Pumpen
L2: Verdichter
L1-3: Heizstäbe
@F1x55-6

ich hab nur einen Zähler

1


Beitrag schreiben oder Werbung ausblenden?
Einloggen

 Kostenlos registrieren [Mehr Infos]


next