Der SAE Teil im Nibe Flow setzt voraus, dass ihr das Programm "SmartApplianceEnabler" am laufen habt und über einen S0 Zähler so den WP-Verbrauch erfasst.
* den SAE Teil im Flow setzt voraus, dass ihr das Programm "SmartApplianceEnabler" am laufen habt und über einen S0 Zähler so den WP-Verbrauch erfasst.Falls nicht den Teil einfach löschen.
** dauert mindestens 3 Tage bis rechte Ansicht erscheint, linke Ansicht
funktioniert nur mit SAE * ansonsten fehlt die el. Energie & TAZ
Im Jahr 2020 ist Ende Juni die PV erweitert worden bzw. umgebaut. Ende November folgte die Inbetriebnahme des Speichers. Da der Speicher aber sogut wie nichts zur Gesamtbilanz beigetragen hat, habe ich ihn für 2020 nicht separat aufgeführt, das folgt dann für 2021.
Ich wollte gern das Projekt NibePi mit einem aktuellen Raspian Buster selbst aufsetzen und habe dazu eine Anleitung geschrieben.
Warum? Weil ich gern ein normales R/W System haben wollte, was auf dem aktuellsten Stand ist, um den RPi so auch anderweitig nutzen zu können. Das "NibePi Clean" Image basiert auf Raspian Stretch und ist als "Read only" konfiguriert. Da ich mit Node Red auch noch meine Wechselrichter per Modbus auslese, stieß ich hier irgendwann an die Grenze, da auch Node Red und Node.js veraltert sind.
Ich verwende meinen alten RPi 3B mit RS485 Adapter (Kosten < 50€).
Per VPN kann man so die Wärmepumpe von überall aus steuern inkl. Servicemenü.
Der Stromverbrauch des RPi 3B liegt bei 1,7W.
Als Neukauf würde ich den RPi 2B empfehlen (neu < 35€), der hat weder Wlan noch Bluetooth.
Mein RS485 Adapter: Hersteller JOY-IT, Artikelnummer RB-RS485 (10,50€). Oder USB-RS485-Adapter (3,22€) Link zu Reichelt
** Hinweis: wichtige Fehlerkorrekturen, daher alle alten Versionen gelöscht
Da ich die Nibe Wärmepumpe von Zuhause und unterwegs aus über Node-RED bediene, habe ich zusätzlich noch einige Werte von meiner PV-Anlage in ein Tab integriert:
Hier eine Anleitung und der Flow:
Als erstes muss in den Wechselrichtern Modbus TCP aktiviert werden.
Bei WR ohne Webinterface muss man es über den Sunny Explorer machen.
Anschließend testet man ob der Modbus auch funktioniert:
das hatte bei mir auf Anhieb mit beiden Wechselrichtern geklappt, am besten mit Register 30775 (dort seht ihr dann bei "+1" die Leistung).
Node RED
In der Palette muss "node-red-contrib-modbus" & "node-red-contrib-buffer-parser" installiert werden.
Hier mein Flow für meinen SB3000-TL21 und STP6.0-3AV-40:
Unter Hintergrundwissen findet man für alle möglichen SMA Wechselrichter die Register.
Viele Register sind gleich.
Wichtig: die Daten des Energy Meter (Home Manager 2.0) zieht sich der STP6.0 über Speedwire und nur deshalb kann ich sie über den STP6.0 per Modbus TCP abfragen! Der HM kann nicht per Modbus abgefragt werden, dafür aber anderweitig (siehe Blogeintrag).
Im Webinterface vom STP6.0 muss ein Energymeter konfiguriert sein:
Wenn ihr z.B. zwei Wechselrichter ohne Webinterface und damit auch ohne Zugriff auf das Energy Meter habt, müsst ihr die Register die den Hausanschluss abfragen löschen (der Objektname in der Registerbschreibung beginnt mit "Metering.xxx").
Anzupassen sind: "Modbus Getter" --> "Server" --> IP und Port anpassen.
Die alte Version (durchgestrichen) war technisch nicht korrekt, sie funktionierte zwar erstaunlich gut bis auf zwei Werte: Wenn die Blindleistung negativ wurde oder die Spannung über 655V stieg.
Warum ist das so?
Wir fragen 32 Bit Werte ab s.g. S32 oder U32.
Zitat aus der SMA Anleitung: Ein Modbus-Register ist 16 Bit breit. Für breitere Daten werden zusammenhängende ModbusRegister verwendet und als Datenblock betrachtet. Die Adresse des ersten Modbus-Registers in einem Datenblock ist die Startadresse des Datenblocks. Die Anzahl der zusammenhängenden Modbus-Register ergibt sich aus dem Datentyp und dem Offset zwischen den Registeradressen.
Also S32 = Vorzeichenbehafteter Integer (32 Bit) 0x8000 0000 (NaN) und U32 = Vorzeichenloser Integer (32 Bit) 0xFFFF FFFF (NaN)
D.h. ein Register besteht aus zwei 8 Bit Werten (oder auch zwei x 1 Byte), Beispiel:
Bis ich das verstanden hatte, hat es etwas gedauert (es hat ja auch so funktioniert), noch mal Danke an die Helfer des Node-RED Forums, besonders Stephen McLaughlin.
Vorher habe ich nur einen 16 Bit Wert abgefragt (Quantity 1 und 3 im Beispiel)
Um ein Register korrekt abzufragen und wieder zusammen zu setzen braucht es in NodeRED den "Buffer Parser".
Ich frage zusammenhängende Register der Reihe nach ab, bei zu vielen parallelen Abfragen stürzt der Modbusserver ab!
Im Buffer Parser kann ich die abzufragenden Werte über das Offset bestimmen, sowie den Datentyp (S32 oder U32) und ggf. den Faktor (am FIX_ zu erkennen).
Ohne DC Spannung (nachts) schaltet der Hauptprozessor des WR ab:
Daher bitte nicht wundern, wenn nachts viele Werte auf 0x 8000 0000 - den s.g. NaN (not a number) springen, Dezimal = -2147483648.
Da der SBS 2.5 immer noch keine Firmware für den BYD Speicher bekommen hat, ist er noch nicht integriert. Werde ich dann hoffentlich diesen Monat im Oktober noch nachholen.