node-red soll als Modbus-Server arbeiten und so den EM24 emulieren, tut aber nicht immer

Hallo Leute und Frohe Ostern,

ich möchte ein ESS bauen und bin auf der Suche nach dem Energy-Meter auf diesen Beitrag gestoßen: EM24 emulieren

In Beitrag #8 berichtet der User alferez, wie er das gemacht hat und verweist auf seine Web-Seite: alferez

Das klingt doch interessant!

Er liest einen Shelly aus und bildet mit node-red und dem Modbus Server einen EM24 nach... Und spart das Geld!

Also habe ich auf einem aktuell gepflegten Windows 10 Notebook node-red installiert

gestartet und den Firefox angeworfen... localhost:1880 node-red 3.1.7

die Palette installiert: node-red-contrib-modbus 5.30.0

und den zur Verfügung gestellten Flow importiert - und das funzt!

Der Modbus Server und alle "write" werden activ und Venus OS auf dem RPi finden einen EM24 von Carlos Gavazzi

Jetzt habe ich das gleiche auf einem Rpi 3 mit Venus OS "large" ausprobiert...

node-red ist hier nur 3.1.3, aber ich habe die gleiche node-red-contrib-modbus 5.30.0 Palette installiert, den Flow importiert aber nach "deploy": nix?!

Alle Modbus-write wechseln zwischen "initialize" und "reconnecting after 2000ms"

auch im debug keine Fehler ( außer vom Shelly EM )

Was funktioniert da nicht? Wo kann ich suchen? Kennt sich da jemand hier richtig gut mit node-red aus?

Oder benutzt sogar jemand diesen Flow?

Danke für euere Hilfe und ein Schönes Wochenende!

Grüße tom

Hast die auf deinem RPI ggfs den Modbus Server nicht konfiguriert? Er scheint sich ja nicht verbinden zu können.

Ich habe den Flow auch als Basis genommen, habe aber keinen Shelly als Datenquelle sondern eine Kombination aus Fronius Smartmeter und ZRZ. Darüber hinaus nutze ich einen separaten Modbus Server als zusätzlichen Docker.. Hintergrund, da ich in Node-Red mittlerweile viele Sachen umgesetzt habe und hin und wieder was anpassen muss.. jedes Mal, wenn ich also die Updates übernommen habe, scheint sich auch der modbus server zu reinitialisieren, was zum disconnect des EM24 in VenusOS führt und es keine automatischen reconnect gibt. Darüber habe ich noch einige Anpassungen am Flow vorgenommen, da aufgrund meiner 20kWp Anlage, meine negative Einspeisung (wird ja mit 10 multipliziert) so groß war, das sie mit der originalen Implementierung nicht ins entsprechende Register geschrieben werden könnte, bzw. einfach fehlerhaft war.

1 „Gefällt mir“

Ich habe da auf beiden Systemen nichts angefasst?!

Unter WIndows kann er sich "verbinden", auf dem RPi nicht :sleepy:

Auf dem Pi ist auch der korrekte Modbus Server bei den modbus-flows eingestellt?

1 „Gefällt mir“

Ja natürlich. Ich ändere erstmal gar nichts.

Es ist der gleiche unveränderte Flow aus dem Internet, der auf dem Windows-System funktioniert.

Das ist, was ich nicht verstehe?! Es ist, als würde dem RPI etwas fehlen...

OMG, wie blöd kann man eigentlich noch sein?!

Danke mdkeil für den Schubs in die richtige Richtung!

Natürlich muss man auf Venus OS den "Modbus TCP" auch aktivieren:

...und schon funktioniert auch der Flow

1 „Gefällt mir“

Hallo erstmal!
Nachdem ich vor dem gleichen Problem stehe (möchte nicht noch einen zusätzlichen Smartmeter einbauen, wenn ich eh schon 2 habe), sieht mir das nach dem vernünftigsten Weg aus. Eigentlich bin ich davon ausgegangen, dass man die Werte direkt in die Victron Modbusregister schreiben kann, aber das scheint nicht so.
Deshalb der Versuch mit der oben beschriebenen Lösung.
Konkret lese ich mit IoBroker auf einem Raspi meinen EVU Smartmeter aus (1 Sekunden Werte) und steuere damit auch schon einige Dinge wie Wallbox.
Nachdem ich dort auch schon NodeRed laufen habe, sollte das doch funktionieren?
Ich habe den Flow importiert, bin mir jetzt aber bei den weiteren Schritten unsicher. Nachdem es hier offensichtlich schon Leute zum laufen gebracht haben, hoffe ich hier auf Unterstützung.
Bei "Local" muss man die IP Adresse eingeben.
Welche IP Adresse gibt man da an? Vom Raspi oder die vom Cerbo GX?

Hi ich wollte dieses Script auch benutzen ich finde im Venus OS auch den Zähler bekomme aber keine Werte übertragen ich benutze HomeAssistant poll states die ich als number sende aber es passiert nichts. Auch wenn ich oben die Werte für die 2 Phase und 3 Phase auf irgendeinen wert setze passiert nichts. Hat jemand einen Tipp