« Heizung, Lüftung, Klima  |

DIY Alternative zu Nibe Modbus Modul

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

  •  nibepi
24.9.2020  (#541)

zitat..
KoMa schrieb: Ich habe aktuell das Problem, dass Änderungen im NodeRed nicht in die /etc/nibepi/config.json geschrieben werden.

Damit werden bei einem Neustart meine Änderungen überschrieben, bzw. bei einem Flow - Restart wird gesagt, auf dem Server wären andere Infos als im System und ob ich die "mergen" möchte.

Gibts dazu eine Idee, wie man das verhindern kann und die Daten in die config.json geschrieben werden?

Ich verwende v1.1 und das Dateisystem habe ich auf RW gemountet.

This is a bug. NodeRED cant edit the config.
The work around is to edit it manually in SSH with nano or something similiar. Everytime you open the box of the config it defaults the config file, so just edit the file manually and dont open the configuration settings in nodered.

It's normal for warnings when reloading the page if you have changed anything or just moved a node.

1
  •  OpiVanKnobi
26.9.2020  (#542)

zitat..
ChrisTartu schrieb: Well, I am using the Prodino MKR Zero Ethernet and there is not really an issue with memory.

Sketch uses 48084 bytes (18%) of program storage space. Maximum is 262144 bytes.
Global variables use 9584 bytes of dynamic memory.

This contains NibeGW + MQTT support + 1000 register definitions (not yet including range limits). Range limits/validity constraints only need to be added for writable registers.

Hi Chris, die selbe Idee hatte ich auch, nur liegt der MKR hier seit einem Jahr nur herum (man hat ja zu tun).

Wo gibt es denn den aktuellen Code zu finden? Auf bitbucket.org unter crnv hat das Projekt seit April keine Updates mehr bekommen :)


1
  •  chrismo
  •   Gold-Award
26.9.2020  (#543)
Was ChrisTartu macht ist unabhängig von meinem Code. Ich habe ja nur ein paar Adaptionen des openHAB Codes gemacht, der auch schon seit über 3 Jahren unverändert ist. Der Code wird sich wahrscheinlich nicht mehr ändern, da neue WP WP [Wärmepumpe] oder Register nicht im Arduino Teil hinzugefügt werden können.

Das ist übrigens auch der Grund, warum ich meine anfängliche Idee, alles am MKR zu machen - was ChrisTartu ja jetzt versucht - verworfen habe, weil man dann jedes mal den MKR neu flashen müsste, um z.B. ein neues Register zu unterstützen. In meinem Fall ist der MKR in der WP WP [Wärmepumpe] verbaut, was das ganze etwas umständlich macht emoji

1
  •  klayman
27.9.2020  (#544)
Hallo zusammen,

ich bekomme es einfach nicht gesch... Nutze einen Prodino MKR Ethernet mit der auf Prodino angepassten NibeGW software der an ein aktuelles OpenHab2 sendet. Die WP WP [Wärmepumpe] ist auf WordSwap aktiv gesetzt. Viele Werte funktionieren, nur die Werte des Wärmemengenzählers sind völlig wirr. OH zeigt mir z.B. 5210,5kWh für 44298 / Heat Meter - HW Cpr and Add EP14 an, das Display auf der WP WP [Wärmepumpe] sagt dazu aber 11764 kWh. Da ist doch irgendwas oberfaul?? Was mir auch fehlt ist die Geschwindigkeit der Wärmeträgerpumpe, da kommt schlicht garnichts in openHab an. Irgendeine Idee?

Viele Grüße,
Klayman

1
  •  KoMa
29.9.2020  (#545)

zitat..
JanRi schrieb: echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

I have (had?) a similar issue with my RPI Zero ...

I had about 3 MODBUS alarms in my F1245 per day. After changing the above, it is running fine since ~2 weeks.

I enabled the governor permantly by installing cpufrequtils:
sudo apt install -y cpufrequtils
echo "GOVERNOR=\"performance\"" >> /etc/default/cpufrequtils
systemctl restart cpufrequtils.service

1
  •  klayman
29.9.2020  (#546)

zitat..
klayman schrieb: [...] viele Werte funktionieren, nur die Werte des Wärmemengenzählers sind völlig wirr. OH zeigt mir z.B. 5210,5kWh für 44298 / Heat Meter - HW Cpr and Add EP14 an, das Display auf der WP WP [Wärmepumpe] sagt dazu aber 11764 kWh. Da ist doch irgendwas oberfaul?? [...]

Answer to self: Es sind die Register 42439 und 42437 für total system, nicht EP14 (was da drin steht weiß ich allerdings auch nicht). Die Zahlen passen jetzt. Ein weiteres Issue das ich die ganze Zeit hatte war dass die Pumpengeschwindigkeiten nicht angezeigt wurden: Die Items müssen als %-Wert definiert werden, sonst interpretiert sie OH als irgendwas zwischen 0 und 1 und rundet dann. Manchmal erscheint nämlich "changed from 0 to 1" im Log, das passiert wenn die Drehzahl über 50% geht und der Wert gerundet dann als 1 erscheint.


1
  •  Becker
  •   Gold-Award
2.10.2020  (#547)
Hallo,
könnte mir einer kurz helfen?
Ich habe ein paar Register wieder entfernt und gefragt ob die anderen Register dann wieder schneller abgefragt werden oder ob ich noch was im Hintergrund entfernen muss.
Frederik hat mir dazu geantwortet:
You Will manually have to Edit The config file and remove it.

Ich kann mich leider nicht mehr erinnern wo der war und wie ich da was entferne?

1
  •  KoMa
2.10.2020  (#548)
Ich denke /etc/nibepi/confit.json

die flows sind in /home/pi/.node-red/flows.json


1
  •  Becker
  •   Gold-Award
2.10.2020  (#549)
danke

1
  •  klayman
4.10.2020  (#550)
Weird: Wenn ich die Register für den Wärmemengenzähler (42439 und 42437) in die LOG.SET schreibe und regelmäßig von der WP WP [Wärmepumpe] schicken lasse, sind die Werte falsch. Lasse ich die Register über OpenHab abfragen (und entferne sie aus LOG.SET), kommen die korrekten Werte raus. Wie kann das sein?? Passiert nur bei diesen beiden Registern (zumindest von denen die ich haben möchte), bei den anderen ist es egal...

1
  •  nibepi
5.10.2020  (#551)

zitat..
klayman schrieb: Weird: Wenn ich die Register für den Wärmemengenzähler (42439 und 42437) in die LOG.SET schreibe und regelmäßig von der WP WP [Wärmepumpe] schicken lasse, sind die Werte falsch. Lasse ich die Register über OpenHab abfragen (und entferne sie aus LOG.SET), kommen die korrekten Werte raus. Wie kann das sein?? Passiert nur bei diesen beiden Registern (zumindest von denen die ich haben möchte), bei den anderen ist es egal...

It's because they're decoded separatly and some times in different ways. Word swap only affects requested registers, not log.set registers (It could be the other way around, I dont remember).
Are you using NibePi or NibeGW? NibePi should handle this by always turning word swap at the preffered way at startup. NibeGW/Openhab binding might not work with word swap on.

1
  •  chrismo
  •   Gold-Award
5.10.2020  (#552)

zitat..
nibepi schrieb: NibeGW/Openhab binding might not work with word swap on.

I did not check the source code but all values are correct in openHAB/NibeGW (I read some 32bit values via LOG.set, others manually) when using WordSwap=on, which is the default setting anyway.

zitat..
klayman schrieb: Answer to self: Es sind die Register 42439 und 42437 für total system, nicht EP14 (was da drin steht weiß ich allerdings auch nicht).


zitat..
klayman schrieb: w[ref]klayman:52722_28#571558[/ref]eird: Wenn ich die Register für den Wärmemengenzähler (42439 und 42437) in die LOG.SET schreibe und regelmäßig von der WP WP [Wärmepumpe] schicken lasse, sind die Werte falsch.

Hm, seltsam... bei mir funktionieren die Register mit openHAB und einem Prodino MKR bei einer F1155er. Ich verwende folgende Register:
44298:HeatMeterHWCprAdd
44300:HeatMeterHeatCprAdd
44306:HeatMeterHWCpr
44308:HeatMeterHeatCpr

Ich weiß nicht ob die LOG.SET auf meinem PC die aktuellste ist, aber da sind 44298 und 44306 drin, die beiden anderen werden manuell gelesen. Alle Werte stimmen mit der Anzeige der WP WP [Wärmepumpe] überein.

Welche WP WP [Wärmepumpe] hast du und welche openHAB Version? Ich glaube bei älteren Versionen waren manche Registerdefinitonen falsch im Code. In der aktuellen sollte es aber gehen.




1
  •  KoMa
7.10.2020  (#553)
Hi @nibepi ,

I took further investigation and I've seen that the nibepi is trying to connect to port 18081 frequently. In "/home/pi/.node-red/node_modules/nibepi/index.js" I've seen that you are posting information to the cloud.

1. How can I disable this?
2. You should disable this by default and let people decide to "call home".

Code:

let version;
    if(config.update!==undefined) version = config.update.version;
    const postData = JSON.stringify({
        id:shortHash,model:model,fw:firmware,version:version
    });
    log(config.log.enable,`Posting following information to Anerdins Cloud: ${postData}, `,config.log['debug'],"Cloud");
    const options = {
        hostname: 'dev.anerdins.se',
        port: 18081,
        path: '/',
        method: 'POST',
        headers: {
        'Content-Type': 'application/json',
        'Content-Length': Buffer.byteLength(postData)

1
  •  nibepi
7.10.2020  (#554)

zitat..
KoMa schrieb: Hi @nibepi ,

I took further investigation and I've seen that the nibepi is trying to connect to port 18081 frequently. In "/home/pi/.node-red/node_modules/nibepi/index.js" I've seen that you are posting information to the cloud.

1. How can I disable this?
2. You should disable this by default and let people decide to "call home".

Code:

let version;
    if(config.update!==undefined) version = config.update.version;
    const postData = JSON.stringify({
        id:shortHash,model:model,fw:firmware,version:version
    });
    log(config.log.enable,`Posting following information to Anerdins Cloud: ${postData}, `,config.log['debug'],"Cloud");
    const options = {
        hostname: 'dev.anerdins.se',
        port: 18081,
        path: '/',
        method: 'POST',
        headers: {
        'Content-Type': 'application/json',
        'Content-Length': Buffer.byteLength(postData)

Yes this is the new statistic report I have done in the latest version. The information that is posted is a uniqe ID hashed from the MAC address of the hardware running NibePi, and the model and firmware of the heatpump and running NibePi version.
In the swedish facebook forum I've been very transparant with this and this is just for me to know how many heatpumps that are connected to NibePi.
There is no alternative to turn it off, it has to be manually removed from the code.
This is basic information that I need to know to continue the project.
This also opens up for more functions, one function in the snapshot version uses this information to send SMS from an MQTT topic. And this is verified in the cloud. The SMS information is encrypted in the client side and the user sends in a decrypt PIN code by SMS to the cloud and the cloud sends out the SMS to the number specified.

The short answer is that I dont want users to turn this off.

It will be possible to turn off the additional features in the future versions. I would want to collect some more information about temperatures and location and stuff. But this will not be mandatory.

1
  •  KoMa
8.10.2020  (#555)
OK, thanks for the explanation.

It calls home every 30 mins, isn't it enough to do this every 24h?

I have no Facebook account so I think you should add a short one liner to the readme on Github to make this transparent here as well.

1
  •  chrismo
  •   Gold-Award
8.10.2020  (#556)

zitat..
KoMa schrieb: 1. How can I disable this?

Just add these two lines to the /etc/hosts file of the host that runs nibePi:

0.0.0.0      dev.anerdins.se
::0             dev.anerdins.se

This is a very basic DNS sinkhole for the domain that is used when calling home. Instead of the server address DNS will return the loopback address 127.0.0.1 and the HTTP POST request will obviously fail.

Blocking the DNS request or the actual POST request via iptables would be another option, or blocking the access at the router if it has a built in firewall. But the above mentioned method should do the trick and is probably the simplest way.

1
  •  KoMa
9.10.2020  (#557)
Yes my firewall blocks it.
slightly better than your solution would be 127.0.0.1 or ::1 instead of 0.0.0.0 or ::0 but Bot will work. 




1
  •  Hannes17
  •   Gold-Award
11.10.2020  (#558)
Hallo

Rechtzeitig vor der neuen Heizsaison habe ich es letzte Woche auch noch geschafft, den PiZero mit NibePi, in die Wärmepumpe einzubauen. Wenn man es richtig ansteckt läuft es auch gleich emoji

Habe in den letzte Monaten wenig mit iobroker und edomi gemacht und mein kleines Wissen ist leider wieder verschwunden.
Kann mir jemand einfach erklären, wie ich die Werte von NibePi über MQTT (läuft auf iobroker) übermitteln kann? In Node-Red muss dazu wahrscheinlich ein neuer Flow erstellt werden um die Werte an den MQTT-Server zu posten.
Leider hab ich noch noch mit Node-Red und MQTT gearbeitet.

Danke Euch.

1
  •  KoMa
11.10.2020  (#559)
Es sollte eigentlich ausreichen im iobroker eine neue MQTT Instanz zu erstellen und als IP des Brokers den NibePi anzugeben. 

hier läuft eh eine MQTT Instanz für die interne Kommunikation. 


1
  •  mcmars
28.10.2020  (#560)
Hallo zusammen,
habe NibePi v1.1 auf an meienr F1255 laufen.

Möchte gerne Node-Red weiter nutzen um einige IoTs etc. an KNX anzubinden. Würdet ihr empfehlen hier eine separates Device (Synology Docker, Pi etc.) zu nutzen oder kann ich das auch auf dem Pi von der Wärmepumpe tun?

Vielen Dank im Voraus

1
  •  Yogi43
29.11.2020  (#561)
Hallo,

nachdem jetzt mein Prodino mit nibegw seit vielen Monaten läuft, ist mir jetzt aufgefallen, dass es in enigen Werten immer mal einen Sprung gibt, wenn in der hexadecimalen Darstellung der  Wert mit '5C' endet. In diesem Fall wird immer nochmal ein '5C' (das Steuerzeichen) angehängt. So werden dann aus 38665,2 kWh (5E65C) Energiemenge gleich mal 9898300,4 kWh (5E65C5C) - siehe Screenshot. Da sich der Wert jetzt in der Heiperiode schnell ändert und dadurch wieder normal angezeigt wird stört es nicht groß. In der Aufzeichnung der Daten in openHAB hat man aber immer einen Zacken in der Kurve. Hat das noch jemand beobachtet?
In NibePI gibt es diese Verhalten sicher nicht - ich will jetzt aber auch nicht wieder alles umstellen. Ich vermute den Fehler im Binding von openHAB - in nibegw konnte ich nichts finden.


2020/20201129872361.jpg

1


Beitrag schreiben oder Werbung ausblenden?
Einloggen

 Kostenlos registrieren [Mehr Infos]


next