Hoi allemaal,
Ik ben al even bezig met een Dashboard maken voor de Marstek. Een Node Red-ONLY platform. Node Red Dashbaord.
De reden dat ik deze route ben gaan verkennen:
1 - Zoals we allemaal wel weten is de Marstek API ruk
2 - De HomeAssistant route > Node Red vind ik te veel overhead / delay geven.
Toelichting op punt 2,
Er zijn een hoop initiatieven al in Home Assistant. Ontzettend veel mooi werk. Voor de meeste zal dat wel prima zijn en maken hier zich niet druk om. Ik ben helaas eigenwijs
Prachtige oplossingen als BatteryManagement van Rob, berusten toch in de kern op Node Red, en voor de interface op Home Assistant. Over de werking niks dan lof !!
P1 informatie van HA > Node Red
Gebruikers settings van HA > Node Red
Dan doet Node Red er zijn ding mee, om het vervolgens via Home Assistant > via ModBus naar de batterij te sturen.
Dus de communicatie gaat dan:
HA (UI) > NR > [Process] > HA (modbus) > Batterij
Ik wilde zelf een alternatief proberen te maken met minder points of failure, kijken of dat lukt. En dat is grotendeels gelukt.
De communicatie gaat bij mij nu:
NR (UI) > [Process] > Batterij
Voor de helderheid; Ik heb Node Red dus ook NIET in Home Assistant als app draaien. Node Red zit bij mij in een aparte dedicated container (proxmox).
En de P1 informatie dan?:
Daarvoor gebruik ik dit om het feder licht naar MQTT te sturen:
https://github.com/hansij66/dsmr2mqtt
De informatie komt instantaan binnen in de MQTT broker, zodra ieder telegram berichtje verzonden wordt van je slimme meter. Dus seconden data, als je meter dit doet via dsmr5.
Node Red leest MQTT nativly.
Ter info: Home Assistant leest dit ook nativly via de mqtt route in. Dus de Energy functie werkt gewoon prima. (mooie bonus)
Wat ik nu heb:
1 - Een functioneel dashboard.
2 - setup en configuratie mogelijk via dashboard
3 - Stop/Manual/NoM functies werken.
4 - Fase detectie. (Op welke fase zit welke batterij aangesloten?)
Het ziet er zo uit op dit moment
Batterij connectie:
/f/image/sxkSVxIQ9KXtS7w6djeDO4af.png?f=fotoalbum_large)
Je vult je IP adres / port in. Drukt op Connect en de batterij is na 3 seconden wel verbonden.
Als het goed gaat, zie je groene bolletjes, met het mac adres er achter in de response. Als het fout gaat, zie je de foutmelding.
Ik heb nu van 3 typen marstek nu de modbus informatie in Node Red geschoven. Venus A, D en E (v1,v2 en v3)
De detectie van welke batterij het is, gaat automatisch, zo ook welke modbus registers gebruikt moeten worden dus, per batterij.
Fase detectie:
Fase detectie is werkend. Druk op het vergrootglasje, en na een minuut ofzo staat op welke fase de batterij aangesloten is.
Wat ik hier uiteindelijk wil maken, is een logica welke alles aan kan.
Dat je 1 batterij op Manual zet, bv batterij 1 op 300W export op fase 1
Dat je batterij 2 op NoM zet, en bijvoorbeeld alleen kijkt naar fase 2
Dat je batterij 3 op NoM zet, en bijvoorbeeld kijkt naar alle fasen.
Strategie selectie:
De huidige Zero-Energy (NoM) functie is nog wat grof, maar werkt.
Ik wil Voor iedere functie nog een configuratie tab maken als dat nodig is.
Bijvoorbeeld dus voor de NoM, de details. Welke controle methode, P, PD, PID, ... Filter settings, etc.
Dan de meest logische vraag die ik verwacht:
Hoe zit dit met handelen? Stroomprijzen? Hoe werkt dat?
> Antwoord: Daar wil ik mij niet pro-actief mee bezig houden.
Ik ga ervoor zorgen dat de Node Red flow input kan ontvangen van externe applicaties. Haakjes blootstellen, zodat Node Red er naar luistert. Dus bijvoorbeeld Day Ahead Optimizer, of andere externe (HA) applicaties. Als deze een signaal sturen.. "Het is nu tijd om te laden met X Watt" dat de flow dit gewoon uitvoert, alsof de gebruiker het zelf doet.
Dat is voorlopig mijn voornemen. Want er zijn al zoveel mensen en oplossingen hiervoor. Dat alles wat ik maak zwaar inferieur zal zijn. Zou dom zijn voor mij om dat ook nog er bij te nemen, als het niet hoeft
Vraag:
Is er vanuit deze community behoefte dat ik dit deel via Github?
Het is op dit moment nog niet deelbaar hoor, maar 'im getting there...'
[Edit]
Aanvullend.
Als je de batterij verbind via Modbus binnen Node Red, dan weet Home Assistant niks.
Daar heb ik een oplossing voor gemaakt om alle infomratie van de batterij via MQTT uit te sturen met de benodigde Discovery messages.
Als je de batterij [Disconnect] is in HA de batterij unavailable.
Zodra je [Connect] is hij gelijk weer available en zie je alle informatie weer.
Ik stuur de informatie uit onder het topic "marstek/{{mac_address}}/...." zodat je niet iedere keer nieuwe entities hebt als je de batterij van slot 1 naar slot 3 verplaatst.
Maar zo kun je dus ook gewoon de Energy tab blijven vullen in Home Assistant.
[
Voor 6% gewijzigd door
edterbak op 04-07-2026 16:55
]