Marstek Venus / Duravolt PnP Thuisaccu Modbus koppeling

Pagina: 1 ... 10 11 Laatste
Acties:

Acties:
  • 0 Henk 'm!

  • pascallj
  • Registratie: Mei 2011
  • Laatst online: 23:09
mgiebels schreef op maandag 26 mei 2025 @ 12:11:
Even een controle vraag als mijn Marstek aan het opladen is en met 1,5 of 2,5 kw dan hoor je een zoem/licht fluit toon is dit normaal?
Lijkt net een soort ventilator die draait.
Vooral als hij bijna vol is lijkt dit harder te gaan.

En andere vraag mijn moeder heeft een zuurstof apparaat ivm copd en nu vroeg me vader zich af ik heb hem nu zo staan dat hij automatisch alles doet maar hij wilt eigenlijk wel dat hij wat erin houd om ook het zuurstof apparaat als er wat uitvalt nog van stroom te voorzien kan dit met de APP? of moet dat dan ook via Homeassistant (wat hij niet heeft)
Dat geluid is normaal. Er zit sowieso een ventilator in, maar ook andere zoemgeluiden bij omvormers zijn niet heel gek.

Nee dit kan helaas niet via de App. Je kan via Modbus instellen dat hij niet helemaal ontlaadt naar 11 (maar bv naar 20), maar zelfs dan gaat het backup stopcontact ook uit als dit niveau bereikt is.

Acties:
  • 0 Henk 'm!

  • mgiebels
  • Registratie: Maart 2015
  • Laatst online: 08-06 09:48
pascallj schreef op maandag 26 mei 2025 @ 12:14:
[...]


Dat geluid is normaal. Er zit sowieso een ventilator in, maar ook andere zoemgeluiden bij omvormers zijn niet heel gek.

Nee dit kan helaas niet via de App. Je kan via Modbus instellen dat hij niet helemaal ontlaadt naar 11 (maar bv naar 20), maar zelfs dan gaat het backup stopcontact ook uit als dit niveau bereikt is.
Of via Dynamisch je accu opladen als het goedkoop stroom is kan natuurlijk ook.
Ik ga nog eens puzzelen en verder kijken voor ze.

Hij heeft zelf geen home assistant ik wel en hij wilt ook niet een heel gebeuren erbij tot op heden.

Acties:
  • 0 Henk 'm!

  • pascallj
  • Registratie: Mei 2011
  • Laatst online: 23:09
mgiebels schreef op maandag 26 mei 2025 @ 12:23:
[...]


Of via Dynamisch je accu opladen als het goedkoop stroom is kan natuurlijk ook.
Ik ga nog eens puzzelen en verder kijken voor ze.

Hij heeft zelf geen home assistant ik wel en hij wilt ook niet een heel gebeuren erbij tot op heden.
Dat is uiteraard prima, alleen hoe je voorkomt de batterij niet leeg gaat weet ik niet. Tenzij je het echt puur alleen als UPS wil gebruiken (dus alleen opladen), maar dan is het misschien wel een duur speeltje.

Acties:
  • 0 Henk 'm!

  • mgiebels
  • Registratie: Maart 2015
  • Laatst online: 08-06 09:48
pascallj schreef op maandag 26 mei 2025 @ 12:25:
[...]


Dat is uiteraard prima, alleen hoe je voorkomt de batterij niet leeg gaat weet ik niet. Tenzij je het echt puur alleen als UPS wil gebruiken (dus alleen opladen), maar dan is het misschien wel een duur speeltje.
Ja precies ik heb nu als de zon schijnt elke keer 0 op de meter dus dat is lekker en lever dat nog wat terug maar tot op heden vind ik dit prima.

En snap me ouders ook wel beetje die zijn bang dat er voor lange tijd uitval gaat optreden op het stroomnet door al die gekken in de wereld

Acties:
  • 0 Henk 'm!

  • Maarten69
  • Registratie: Augustus 2022
  • Niet online
mgiebels schreef op maandag 26 mei 2025 @ 12:26:
En snap me ouders ook wel beetje die zijn bang dat er voor lange tijd uitval gaat optreden op het stroomnet door al die gekken in de wereld
Een mogelijke oplossing kan zijn om de 11% op 30% in te stellen. Dan gaat backup wel uit op 30%, maar dan pas je deze zelf aan naar 11% om de backup weer te activeren.
Edit: daar heb je wel modbus voor nodig. Maar zou onafhankelijk van een HA moeten kunnen (webinterface lilygo).

[ Voor 12% gewijzigd door Maarten69 op 26-05-2025 12:41 ]

8680 Wp, Panasonic Mono-bloc J-Generation WH-MDC07J3E5 1-fase 7kW. Heishamon v3.2.3 , NRflow *custom* , Home Assistant + " kamaradclimber / heishamon-homeassistant", Kaifa MA105 + Shelly PRo 3EM (120A), 3x Marstek 5,12kW v151, lilygo-modbus-485 HA


Acties:
  • 0 Henk 'm!

  • pascallj
  • Registratie: Mei 2011
  • Laatst online: 23:09
Maarten69 schreef op maandag 26 mei 2025 @ 12:39:
[...]

Een mogelijke oplossing kan zijn om de 11% op 30% in te stellen. Dan gaat backup wel uit op 30%, maar pad je deze zelf aan naar 11% om de backup weer te activeren.
Dan heb je op dat moment Modbus nodig om het aan te passen. Dat lijkt me niet gewenst.

Acties:
  • 0 Henk 'm!

  • mgiebels
  • Registratie: Maart 2015
  • Laatst online: 08-06 09:48
Maarten69 schreef op maandag 26 mei 2025 @ 12:39:
[...]

Een mogelijke oplossing kan zijn om de 11% op 30% in te stellen. Dan gaat backup wel uit op 30%, maar dan pas je deze zelf aan naar 11% om de backup weer te activeren.
Ik ben nog een leek hierin hoor maar hoe pas je die dan aan als je geen stroom meer heb?

Acties:
  • 0 Henk 'm!

  • Maarten69
  • Registratie: Augustus 2022
  • Niet online
De lilygo heeft een fallback hotspot, daar zou je (bij uitval router) met je mobiel mee kunnen verbinden en dan de webinterface openen:
Afbeeldingslocatie: https://tweakers.net/i/bwKFmdsEKKih9Bpy3bqADU3O06k=/x800/filters:strip_icc():strip_exif()/f/image/22JQ9U9A3fvf2Iu4BNm4z5Uc.jpg?f=fotoalbum_large

[ Voor 57% gewijzigd door Maarten69 op 26-05-2025 12:46 ]

8680 Wp, Panasonic Mono-bloc J-Generation WH-MDC07J3E5 1-fase 7kW. Heishamon v3.2.3 , NRflow *custom* , Home Assistant + " kamaradclimber / heishamon-homeassistant", Kaifa MA105 + Shelly PRo 3EM (120A), 3x Marstek 5,12kW v151, lilygo-modbus-485 HA


Acties:
  • 0 Henk 'm!

  • mgiebels
  • Registratie: Maart 2015
  • Laatst online: 08-06 09:48
Maarten69 schreef op maandag 26 mei 2025 @ 12:44:
De lilygo heeft een fallback hotspot, daar zou je (bij uitval router) met je mobiel mee kunnen verbinden en dan de webinterface openen:
Ah je kan de lilygo dus ook los draaien zonder Home assistant?

Acties:
  • 0 Henk 'm!

  • Maarten69
  • Registratie: Augustus 2022
  • Niet online
Ja en wordt gevoed door de Marstek zelf

8680 Wp, Panasonic Mono-bloc J-Generation WH-MDC07J3E5 1-fase 7kW. Heishamon v3.2.3 , NRflow *custom* , Home Assistant + " kamaradclimber / heishamon-homeassistant", Kaifa MA105 + Shelly PRo 3EM (120A), 3x Marstek 5,12kW v151, lilygo-modbus-485 HA


Acties:
  • +1 Henk 'm!

  • mgiebels
  • Registratie: Maart 2015
  • Laatst online: 08-06 09:48
Maarten69 schreef op maandag 26 mei 2025 @ 12:47:
Ja en wordt gevoed door de Marstek zelf
Ik heb voor me zelf er wel eentje besteld om aan Homeassistant te koppelen.
Aangezien ik niet alles kan uitlezen via de add ons in Homeassistant.

Thanks tot zover ik ga eens kijken als ik hem zelf heb wat kan.

Acties:
  • +4 Henk 'm!

  • Wâldpyk-9
  • Registratie: Mei 2025
  • Laatst online: 07-06 14:09
pascallj schreef op zondag 25 mei 2025 @ 20:36:
[...]


RS485 is standaard ingeschakeld. Er is wat gerommeld met de kleuren van de draden. Ik zou even tussen wat meer paren meten. Zwart1-Rood, of Zwart2-rood misschien.
Gelukt! Ik kom die 5V tegen op de 2 zwarte draden😃

Acties:
  • 0 Henk 'm!

  • Maxwp
  • Registratie: Juni 2011
  • Laatst online: 02:30
Even snel een vraagje want be onderweg dus moeilijk zoeken nu
Geeft de modbus ook aan of de ct is verbonden of jiet ? Dan kan ik via modbus me een melding sturen als deze is disco nnnectd. En kom ik er nietbij toeval uren later achter

Acties:
  • +1 Henk 'm!

  • Maarten69
  • Registratie: Augustus 2022
  • Niet online
Maxwp schreef op dinsdag 27 mei 2025 @ 17:13:
Even snel een vraagje want be onderweg dus moeilijk zoeken nu
Geeft de modbus ook aan of de ct is verbonden...
binary_sensor.lilygo_rs485_marstek_ct_connection_abnormal

8680 Wp, Panasonic Mono-bloc J-Generation WH-MDC07J3E5 1-fase 7kW. Heishamon v3.2.3 , NRflow *custom* , Home Assistant + " kamaradclimber / heishamon-homeassistant", Kaifa MA105 + Shelly PRo 3EM (120A), 3x Marstek 5,12kW v151, lilygo-modbus-485 HA


Acties:
  • +2 Henk 'm!

  • pascallj
  • Registratie: Mei 2011
  • Laatst online: 23:09
Maarten69 schreef op dinsdag 27 mei 2025 @ 17:21:
[...]

binary_sensor.lilygo_rs485_marstek_ct_connection_abnormal
Die is hier nog nooit afgegaan, ook niet tijdens het experimenteren met de CT (verbonden, niet verbonden etc.). Maar goed we waren al niet helemaal zeker of de bitmasks voor de waardes correct zijn, dus misschien dat het met de juiste bitmask wel zou moeten werken.

Acties:
  • +2 Henk 'm!

  • SatScan
  • Registratie: Februari 2024
  • Laatst online: 23:30
pascallj schreef op dinsdag 27 mei 2025 @ 17:23:
[...]


Die is hier nog nooit afgegaan, ook niet tijdens het experimenteren met de CT (verbonden, niet verbonden etc.). Maar goed we waren al niet helemaal zeker of de bitmasks voor de waardes correct zijn, dus misschien dat het met de juiste bitmask wel zou moeten werken.
Hier ook getest en geen resultaat. Misschien dat er idd iets nog niet goed staat.
Zou wel handig zijn om dit te kunnen monitoren.

.NL | BYD Atto3 | PulsarPlus EV +Balancer | WP7.7K Z | 2 MT Venus 5.12KWh V151 - CT003 V115 | 2 Mitsubitshi single airco's | EPC 0.0 | HA DS224+


Acties:
  • 0 Henk 'm!

  • matrover
  • Registratie: December 2010
  • Laatst online: 08-06 11:05
SatScan schreef op dinsdag 27 mei 2025 @ 17:30:
[...]


Hier ook getest en geen resultaat. Misschien dat er idd iets nog niet goed staat.
Zou wel handig zijn om dit te kunnen monitoren.
Via de Hame Relay heb ik die wel en die status veranderd nog eens:
Afbeeldingslocatie: https://tweakers.net/i/qGFTrdFwwW1eQaz2tS1O6Gt21To=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/r5unsplgFcguhXccyEu9ST6S.png?f=user_large

Marstek Venus 5,12kwh V149 CT003 V110


Acties:
  • 0 Henk 'm!

  • RobinGla
  • Registratie: Mei 2025
  • Laatst online: 07-06 17:07
Hello from Germany.
I hope it's okay if I write in English.
After reading the instructions for the Elfin EW11 several times and following them step by step, I still can't get any values ​​into my Home Assistant. All my entities have the status: Not available.
Does anyone have any suggestions as to what might be causing this?Afbeeldingslocatie: https://tweakers.net/i/uP7K8Qic8zfmne-FBsQvwvPxGck=/800x/filters:strip_exif()/f/image/pY8U3LViUoCsv1yUtYb5zY5w.png?f=fotoalbum_large

Acties:
  • 0 Henk 'm!

  • Marc Both
  • Registratie: Juli 2014
  • Laatst online: 19:13
Hi Gents!

Ik krijg morgen mij MT binnen, direct ook de Lillygo besteld voor integratie in HA.
Onder het mom van voorpret, ben ik alvast een beetje aan het bedenken hoe ik mijn automations zou willen en wat er mogelijk is.

Ik wil mijn MT primair NOM draaien maar ik wil dit net wat anders. Ik heb een Dynamisch contract én panelen op de ochtend zon.Wat ik dus eigenlijk wil is het volgende:
  • 's Avonds + 's nachts draait MT NOM, totdat hij op 20% komt, dan stopt hij met ontladen en gaat pas weer weer op NOM als het een duur moment wordt. Gemiddeld tussen 7 en 9 zeg maar
  • Tijdens de 'dure ochtendpiek' wil ik mijn MT niet laden, maar eventuele zonnestroom terugleveren. Ik heb mijn prijzen in HA, ik zou zeggen, als tijd is voor 'x' en prijs is boven 'y' dan mag MT alleen ontladen
Ik ben niet onhandig in HA, ben puur even benieuwd of de MODBUS integratie zo volledig is dat je de accu voldoende goed kunt sturen zo.

Acties:
  • 0 Henk 'm!

  • pascallj
  • Registratie: Mei 2011
  • Laatst online: 23:09
matrover schreef op dinsdag 27 mei 2025 @ 20:14:
[...]


Via de Hame Relay heb ik die wel en die status veranderd nog eens:
[Afbeelding]
De status 'unavailable' is waarschijnlijk geen valide status. Meestal is het meer een weergave dat de onderliggen sensor niet beschikbaar is vanwege verbindingsproblemen o.i.d.

Acties:
  • 0 Henk 'm!

  • pascallj
  • Registratie: Mei 2011
  • Laatst online: 23:09
Marc Both schreef op dinsdag 27 mei 2025 @ 20:55:
Hi Gents!

Ik krijg morgen mij MT binnen, direct ook de Lillygo besteld voor integratie in HA.
Onder het mom van voorpret, ben ik alvast een beetje aan het bedenken hoe ik mijn automations zou willen en wat er mogelijk is.

Ik wil mijn MT primair NOM draaien maar ik wil dit net wat anders. Ik heb een Dynamisch contract én panelen op de ochtend zon.Wat ik dus eigenlijk wil is het volgende:
  • 's Avonds + 's nachts draait MT NOM, totdat hij op 20% komt, dan stopt hij met ontladen en gaat pas weer weer op NOM als het een duur moment wordt. Gemiddeld tussen 7 en 9 zeg maar
  • Tijdens de 'dure ochtendpiek' wil ik mijn MT niet laden, maar eventuele zonnestroom terugleveren. Ik heb mijn prijzen in HA, ik zou zeggen, als tijd is voor 'x' en prijs is boven 'y' dan mag MT alleen ontladen
Ik ben niet onhandig in HA, ben puur even benieuwd of de MODBUS integratie zo volledig is dat je de accu voldoende goed kunt sturen zo.
De informatie die jij nodig hebt is in elk geval via Modbus aanwezig. Als je NOM via de CT003 meter laat regelen hoef je volgens mij enkel slim te schakelen tussen wat modi, meer niet. Of eigenlijk zelfs alleen maar NOM aan, of niks doen. Dat kan je allemaal in HA programmeren.

Kan niet duidelijk vinden of je een Nederlands dynamisch contract hebt. Zoja, dan blijft wel staan dat er financieel eigenlijk geen reden is NOM te draaien, maar ik zal je niet weerhouden om dat toe te passen.

Acties:
  • 0 Henk 'm!

  • denievankleef
  • Registratie: Februari 2025
  • Laatst online: 06-06 23:35
Hi all,

Daar ben ik dan eindelijk weer, had weken lang geen tijd om zelf te spelen met de modbus aansturing terwijl iedereen er vragen over had tav mijn video, hahaha

Ik wil de batterij geforceerd laten laden, dit omdat ik tijdens de middag niet genoeg panelen heb om mijn batterij helemaal voor te laden en wil daarom dit bijsturen door hem wat extra te laten laden :)

Volgens de beschrijving moet ik dan de ControlMode op enabled zetten, de "forcible charge power" omhoog zetten en de SOC op het percentage zetten die ik wil, en dan de forcible charge/discharge op charge zetten.

Ik zie dat het verrekte snel werkt, nice! Maar hij stopt niet bij het SOC percentage en hij laad minder dan de opgegeven "forcible charge power" ... das toch jammer nie! Wat doe ik fout? ik heb de boel in februari geflashed/aangesloten, is er iets veranderd of klopt er iets niet in mijn logica?

thanks alvast!

Acties:
  • +1 Henk 'm!

  • pascallj
  • Registratie: Mei 2011
  • Laatst online: 23:09
denievankleef schreef op dinsdag 27 mei 2025 @ 22:44:
Hi all,

Daar ben ik dan eindelijk weer, had weken lang geen tijd om zelf te spelen met de modbus aansturing terwijl iedereen er vragen over had tav mijn video, hahaha

Ik wil de batterij geforceerd laten laden, dit omdat ik tijdens de middag niet genoeg panelen heb om mijn batterij helemaal voor te laden en wil daarom dit bijsturen door hem wat extra te laten laden :)

Volgens de beschrijving moet ik dan de ControlMode op enabled zetten, de "forcible charge power" omhoog zetten en de SOC op het percentage zetten die ik wil, en dan de forcible charge/discharge op charge zetten.

Ik zie dat het verrekte snel werkt, nice! Maar hij stopt niet bij het SOC percentage en hij laad minder dan de opgegeven "forcible charge power" ... das toch jammer nie! Wat doe ik fout? ik heb de boel in februari geflashed/aangesloten, is er iets veranderd of klopt er iets niet in mijn logica?

thanks alvast!
Bijna, de Charge to SOC staat los van de Forcible acties (oftewel de een overschrijft de andere in jouw geval). Ik heb het hier samengevat: pascallj in "Marstek Venus / Duravolt PnP Thuisaccu Modbus koppeling"

Mocht het daarna als nog niet duidelijk zijn hoor ik het wel ;)

Acties:
  • 0 Henk 'm!

  • Broodro0ster
  • Registratie: September 2014
  • Laatst online: 00:56
RobinGla schreef op dinsdag 27 mei 2025 @ 20:38:
Hello from Germany.
I hope it's okay if I write in English.
After reading the instructions for the Elfin EW11 several times and following them step by step, I still can't get any values ​​into my Home Assistant. All my entities have the status: Not available.
Does anyone have any suggestions as to what might be causing this?[Afbeelding]
Do you see the elfin on the local network and is the wiring correct? For me and my mate it was really plug and play with the instructions in the opening post.

30x Jinko JKM380M-6RL3 (11.4kWp) 12x oost 90° - 18x west 270°, 45° incl. | Marstek Venus 5.12kWh | Vaillant Arotherm 75/5 | Zehnder ComfoAir Q450 | Tesla Model 3 RWD 2023


Acties:
  • 0 Henk 'm!

  • Marc Both
  • Registratie: Juli 2014
  • Laatst online: 19:13
pascallj schreef op dinsdag 27 mei 2025 @ 22:30:
[...]

Kan niet duidelijk vinden of je een Nederlands dynamisch contract hebt. Zoja, dan blijft wel staan dat er financieel eigenlijk geen reden is NOM te draaien, maar ik zal je niet weerhouden om dat toe te passen.
Ik ben even benieuwd naar je overweging in deze? Mijn gedachtegang was, dat ik op die manier de dure momenten de accu zijn werk laat doen en op de goedkope momenten de accu laat opladen met zonnestroom (of goedkope stroom)

Werkt de Ai modus in deze beter dan?

Acties:
  • 0 Henk 'm!

  • pascallj
  • Registratie: Mei 2011
  • Laatst online: 23:09
Marc Both schreef op woensdag 28 mei 2025 @ 07:21:
[...]


Ik ben even benieuwd naar je overweging in deze? Mijn gedachtegang was, dat ik op die manier de dure momenten de accu zijn werk laat doen en op de goedkope momenten de accu laat opladen met zonnestroom (of goedkope stroom)

Werkt de Ai modus in deze beter dan?
Ik had het eigenlijk anders moeten uitdrukken. Uiteraard is er een goede reden om het zo te doen, maar financieel is het aantrekkelijker om te laden op de twee goedkoopste uren en te ontladen op de twee duurste uren van de dag. Dat kan niet automatisch, maar aangezien je toch aan het spelen bent met Home Assistant 😉

Acties:
  • 0 Henk 'm!

  • Arjanski
  • Registratie: Oktober 2022
  • Laatst online: 07-06 19:54
Onwijs dank voor de beschrijving, ik probeer het voor elkaar te krijgen.
Ik heb even een vraagje en sorry als het al beschreven is.
Maar wat zijn de verschillen tussen deze versies?

lilygo-rs485-2.yaml
lilygo-rs485-3.yaml
lilygo-rs485.yaml
marstek_venus_battery2_control.yaml
marstek_venus_battery3_control.yaml
marstek_venus_battery_control.yaml

Acties:
  • 0 Henk 'm!

  • SatScan
  • Registratie: Februari 2024
  • Laatst online: 23:30
Arjanski schreef op woensdag 28 mei 2025 @ 08:28:
Onwijs dank voor de beschrijving, ik probeer het voor elkaar te krijgen.
Ik heb even een vraagje en sorry als het al beschreven is.
Maar wat zijn de verschillen tussen deze versies?

lilygo-rs485-2.yaml
lilygo-rs485-3.yaml
lilygo-rs485.yaml
marstek_venus_battery2_control.yaml
marstek_venus_battery3_control.yaml
marstek_venus_battery_control.yaml
1, 2 of 3 batterijen in gebruik... *O*

_/-\o_

.NL | BYD Atto3 | PulsarPlus EV +Balancer | WP7.7K Z | 2 MT Venus 5.12KWh V151 - CT003 V115 | 2 Mitsubitshi single airco's | EPC 0.0 | HA DS224+


Acties:
  • 0 Henk 'm!

  • Marc Both
  • Registratie: Juli 2014
  • Laatst online: 19:13
pascallj schreef op woensdag 28 mei 2025 @ 07:34:
[...]


Ik had het eigenlijk anders moeten uitdrukken. Uiteraard is er een goede reden om het zo te doen, maar financieel is het aantrekkelijker om te laden op de twee goedkoopste uren en te ontladen op de twee duurste uren van de dag. Dat kan niet automatisch, maar aangezien je toch aan het spelen bent met Home Assistant 😉
Help me even, het gebruik van me zonnestroom en vervolgens op dure momenten gaan ontladen is toch altijd goedkoper dan stroom inkopen, efficiëntie verlies, stroom verbuik vanuit accu?

Acties:
  • 0 Henk 'm!

  • pascallj
  • Registratie: Mei 2011
  • Laatst online: 23:09
Marc Both schreef op woensdag 28 mei 2025 @ 10:33:
[...]


Help me even, het gebruik van me zonnestroom en vervolgens op dure momenten gaan ontladen is toch altijd goedkoper dan stroom inkopen, efficiëntie verlies, stroom verbuik vanuit accu?
Nee niet in Nederland zolang je kan salderen. Want verder heb je geen kosten anders dan inkoopprijs. En aangezien inkoop- en verkoopprijs hetzelfde zijn kan je het beste gewoon op de meeste goedkope uren inkopen. Wel moet het verschil groot genoeg zijn om je verlies te verantwoorden maar dat is bij gebruik van zonnestroom hetzelfde. Die stroom had je anders ook zonder efficiëntieverlies kunnen verkopen ipv met efficiëntievetlies in de accu stoppen.

Maar ik ken mijzelf, ik word altijd iets te enthousiast op dit punt. Dus mocht je meer vragen hebben, schiet me dan maar een DM voordat het hier te off-topic wordt.

Acties:
  • +2 Henk 'm!

  • Hometek
  • Registratie: Februari 2025
  • Laatst online: 23:58
Arjanski schreef op woensdag 28 mei 2025 @ 08:28:
Onwijs dank voor de beschrijving, ik probeer het voor elkaar te krijgen.
Ik heb even een vraagje en sorry als het al beschreven is.
Maar wat zijn de verschillen tussen deze versies?

lilygo-rs485-2.yaml
lilygo-rs485-3.yaml
lilygo-rs485.yaml
marstek_venus_battery2_control.yaml
marstek_venus_battery3_control.yaml
marstek_venus_battery_control.yaml
Dat zijn drie verschillende versies van dezelfde bestanden, alleen met andere namen voor de sensoren om de data per batterij uit elkaar te houden.

Opzet: 1,2 of 3 batterijen elk met een eigen Lilygo.
Batterij 1 & Lilygo : lilygo-rs485.yaml & marstek_venus_battery_control.yaml
Batterij 2 & Lilygo : lilygo-rs485-2.yaml & marstek_venus_battery2_control.yaml
Batterij 3 & Lilygo : lilygo-rs485-3.yaml & marstek_venus_battery3_control.yaml

De control yaml files komen in de packages map

2x Venus E (Gen1) V151, Shelly Pro EM-50, Lilygo+HA


Acties:
  • +3 Henk 'm!

  • xlntone
  • Registratie: September 2001
  • Laatst online: 30-05 14:26
Omdat de 3D geprinte behuizing op Thingiverse bedoeld is voor het monteren van de Lilygo op een DIN-rail en ik geen gebruik maak van een DIN-rail, heb ik een nieuwe behuizing ontworpen die je met magneten op de Venus E kunt monteren. Er zijn ook andere montagemogelijkheden maar magnetisch is het mooist voor de Venus E accu.

Deze behuizing kun je vinden op Cults3D via deze link: https://cults3d.com/en/3d...-ttgo-t-can485-esp32-case

Als je geen 3D printer hebt, dan kun je hier de behuizing ook kant-en-klaar kopen: https://www.etsy.com/list...ilygo-ttgo-t-can485-esp32

Afbeeldingslocatie: https://tweakers.net/i/fnh-8T7Vdm7WKGyE_PJiYNqP990=/800x/filters:strip_icc():strip_exif()/f/image/DLvxX9Ft5MFkddypGnK6ZaoH.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/TkGsUxfMlZfnnSAE-lygyT7kurE=/800x/filters:strip_exif()/f/image/d94nO8tjrI7aSORM2wMGMAtF.png?f=fotoalbum_largeAfbeeldingslocatie: https://tweakers.net/i/JP6tFE7jwS1ynJHXuxYap9agngY=/x800/filters:strip_icc():strip_exif()/f/image/DM6pYTIXOpIpNRKaMT5WE5sf.jpg?f=fotoalbum_large

[ Voor 18% gewijzigd door xlntone op 30-05-2025 14:05 ]


Acties:
  • 0 Henk 'm!

  • xlntone
  • Registratie: September 2001
  • Laatst online: 30-05 14:26
Wâldpyk-9 schreef op maandag 26 mei 2025 @ 13:02:
[...]


Gelukt! Ik kom die 5V tegen op de 2 zwarte draden😃
WTF... Ja joh! :D
Goeie info zeg, ik baalde er al stevig van dat ik een externe USB voeding moest gebruiken voor mijn tweede Venus maar nu kan ik de LilyGo weer door de Venus E laten voeden! d:)b

Acties:
  • 0 Henk 'm!

  • Arjanski
  • Registratie: Oktober 2022
  • Laatst online: 07-06 19:54
SatScan schreef op woensdag 28 mei 2025 @ 09:39:
[...]


1, 2 of 3 batterijen in gebruik... *O*

_/-\o_
Owwwww aha dank u!! :D

Acties:
  • 0 Henk 'm!

  • Arjanski
  • Registratie: Oktober 2022
  • Laatst online: 07-06 19:54
Hometek schreef op woensdag 28 mei 2025 @ 10:50:
[...]

Dat zijn drie verschillende versies van dezelfde bestanden, alleen met andere namen voor de sensoren om de data per batterij uit elkaar te houden.

Opzet: 1,2 of 3 batterijen elk met een eigen Lilygo.
Batterij 1 & Lilygo : lilygo-rs485.yaml & marstek_venus_battery_control.yaml
Batterij 2 & Lilygo : lilygo-rs485-2.yaml & marstek_venus_battery2_control.yaml
Batterij 3 & Lilygo : lilygo-rs485-3.yaml & marstek_venus_battery3_control.yaml

De control yaml files komen in de packages map
Nog duidelijker dank!!!!

Acties:
  • +1 Henk 'm!

  • Arjanski
  • Registratie: Oktober 2022
  • Laatst online: 07-06 19:54
Hebben jullie dat nu ook wel eens dat je echt dagen met iets bezig bent en het wil maar niet lukken.
Bij dit heb ik dat...

Huh wacht ff er gaat in ene een lampie branden, niet in mijn hoofd maar op de printplaat...

what the

Ik wou het bijna opgeven....

Zou het???

Een bijna radeloze Home Assistant Freak die al heel veel heeft geintergreerd, ook andere ESP32 dingen...

Be right back, gelukkig ben ik vrijgezel, een vrouw zou meteen van mij scheiden... 2 dagen al bezig met, het lijkt, steeds hetzelfde.

Maar nu ik dit aan het schrijven ben... poging 385 of zo...

IK ZIE EEN LAMPJE BRANDEN!!

Rood...

mmm

Misschien moet ik toch even het hele forum gaan lezen. Maar ik heb geen geduld! Nou ja 2 dagen...

pffttt het leven van een Home Assistant ADHD-er gaat niet altijd over rozen :D.

Heel herkenbaar denk toch? Of ben ik de enige gek?

Elke keer probeer ik het ook met een andere naam voor het device.. na tig keer wordt ik boos. De naam lijkt nu totaal niet meer op iets van een batterij :D

Maar ja als het maar werkt.

[ Voor 12% gewijzigd door Arjanski op 28-05-2025 20:53 ]


Acties:
  • 0 Henk 'm!

  • Arjanski
  • Registratie: Oktober 2022
  • Laatst online: 07-06 19:54
Groen lampje... nu durf ik niks meer. Zelfs niet los koppelen.

Acties:
  • +3 Henk 'm!

  • VVouter
  • Registratie: Mei 2025
  • Laatst online: 06-06 15:24
Had hier ook last van rode led's, oorzaak is ontvangst/dekking en de discutabele Wi-Fi hardware/software van de batterij. Had geprobeerd om de antenne los te krijgen en te vervangen voor een grotere spriet. Maar die zat te vast en wilde hem niet afbreken met nog minder ontvangst als gevolg. Heb hier in Home Assistant een dashboard gemaakt en daar ook de LED's een plekje in gegeven.

Afbeeldingslocatie: https://tweakers.net/i/gjT6T7LCVs2Rxlq-rsNO3ikBwv0=/800x/filters:strip_exif()/f/image/MP4KfnXz60yfScTw3Ul37dNV.png?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/zSOKZnbnsNj1FLsk25UXZsLrBOw=/800x/filters:strip_exif()/f/image/zFJY7mewPBolPCbWzXuSUq37.png?f=fotoalbum_large

Daarnaast heb ik automations gemaakt die me informeren over issues door onder andere de sensors uit de Lilygo als Poblem aan te merken en daarop te triggeren. Hetzelfde geldt voor de kleur van de LED. Hieronder wat code snippets van de trigger states daarvan:

code:
1
2
3
4
5
trigger: state
entity_id:
  - light.esphome_web_xxxxxx_lilygo_01_status_led
attribute: rgb_color
enabled: false


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
alias: LED state change
parallel:
  - alias: Green - Issue resolved
    if:
      - condition: template
        value_template: >
          {{ state_attr('light.esphome_web_xxxxxx_lilygo_01_status_led',
          'rgb_color') == (0, 255, 0) }}
    then:
      - action: notify.mobile_app_<device>
        data:
          title: Battery 1
          message: Issue resolved
          data:
            push:
              sound:
                name: default
                critical: 1
                volume: 1
            tag: battery1_green_led_issue_notification
  - alias: Purple - Modbus & Wi-Fi failed
    if:
      - condition: template
        value_template: >
          {{ state_attr('light.esphome_web_xxxxxx_lilygo_01_status_led',
          'rgb_color') == (255, 0, 255) }}
    then:
      - action: notify.mobile_app_<device>
        data:
          title: Battery 1
          message: Modbus & Wi-Fi failed
          data:
            push:
              sound:
                name: default
                critical: 1
                volume: 1
            tag: battery1_purple_led_issue_notification
  - alias: Blue - Weak Wi-Fi signal
    if:
      - condition: template
        value_template: >
          {{ state_attr('light.esphome_web_xxxxxx_lilygo_01_status_led',
          'rgb_color') == (0, 0, 255) }}
    then:
      - action: notify.mobile_app_<device>
        data:
          title: Battery 1
          message: Weak Wi-Fi signal
          data:
            push:
              sound:
                name: default
                critical: 1
                volume: 1
            tag: battery1_blue_led_issue_notification
  - alias: Red - Modbus error, Wi-Fi ok
    if:
      - condition: template
        value_template: >
          {{ state_attr('light.esphome_web_xxxxxx_lilygo_01_status_led',
          'rgb_color') == (255, 0, 0) }}
    then:
      - action: notify.mobile_app_<device>
        data:
          title: Battery 1
          message: Modbus error, Wi-Fi ok
          data:
            push:
              sound:
                name: default
                critical: 1
                volume: 1
            tag: battery1_red_led_issue_notification


En gebruik ook nog badges op mijn Overview dashboard:

code:
1
2
3
4
5
6
7
8
9
10
type: entity
show_name: true
show_state: false
show_icon: true
entity: light.esphome_web_xxxxxx_lilygo_01_status_led
visibility:
  - condition: state
    entity: binary_sensor.battery_1_led
    state: "on"
name: Battery 1


Die leest een boolean template sensor (show as Problem) uit die triggert bij issue

code:
1
2
{% set rgb = state_attr('light.esphome_web_xxxxxx_lilygo_01_status_led', 'rgb_color') %}
{{ rgb != (0, 255, 0) }}


Bij mij blijkt de volgende tijdelijke fix het meest stabiel:

1. Delete batterij uit de app
2. Voeg batterij opnieuw toe
3. Factory reset van de batterij
4. Delete de batterij uit de app
5. Voeg batterij opnieuw toe

In de meeste gevallen connect hij dan naar Wi-Fi en vindt hij de MT CT-003 direct.

[ Voor 6% gewijzigd door VVouter op 28-05-2025 21:26 ]


Acties:
  • 0 Henk 'm!

  • Arjanski
  • Registratie: Oktober 2022
  • Laatst online: 07-06 19:54
Ik ben er nu echt bijna...

HA vind hem nu zelf en dat had ik nog niet, maar nu dit weer. Weet toch zeker dat die api goed is...

Dit moet toch een klein dingetje zijn hoop ik...

Afbeeldingslocatie: https://tweakers.net/i/9Z4wWxcm5qf_dVc2gxFjCK7862Q=/800x/filters:strip_icc():strip_exif()/f/image/oamgSfSP5EuRqOmwg7yM0Ilh.jpg?f=fotoalbum_large

Acties:
  • 0 Henk 'm!

  • VVouter
  • Registratie: Mei 2025
  • Laatst online: 06-06 15:24
Arjanski schreef op woensdag 28 mei 2025 @ 21:26:
Ik ben er nu echt bijna...

HA vind hem nu zelf en dat had ik nog niet, maar nu dit weer. Weet toch zeker dat die api goed is...

Dit moet toch een klein dingetje zijn hoop ik...

[Afbeelding]
Daar staat 102 i.p.v. 192, dat zal de oorzaak zijn gok ik.

Acties:
  • 0 Henk 'm!

  • Arjanski
  • Registratie: Oktober 2022
  • Laatst online: 07-06 19:54
VVouter schreef op woensdag 28 mei 2025 @ 21:18:
Had hier ook last van rode led's, oorzaak is ontvangst/dekking en de discutabele Wi-Fi hardware/software van de batterij. Had geprobeerd om de antenne los te krijgen en te vervangen voor een grotere spriet. Maar die zat te vast en wilde hem niet afbreken met nog minder ontvangst als gevolg. Heb hier in Home Assistant een dashboard gemaakt en daar ook de LED's een plekje in gegeven.

[Afbeelding]

[Afbeelding]

Daarnaast heb ik automations gemaakt die me informeren over issues door onder andere de sensors uit de Lilygo als Poblem aan te merken en daarop te triggeren. Hetzelfde geldt voor de kleur van de LED. Hieronder wat code snippets van de trigger states daarvan:

code:
1
2
3
4
5
trigger: state
entity_id:
  - light.esphome_web_xxxxxx_lilygo_01_status_led
attribute: rgb_color
enabled: false


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
alias: LED state change
parallel:
  - alias: Green - Issue resolved
    if:
      - condition: template
        value_template: >
          {{ state_attr('light.esphome_web_xxxxxx_lilygo_01_status_led',
          'rgb_color') == (0, 255, 0) }}
    then:
      - action: notify.mobile_app_<device>
        data:
          title: Battery 1
          message: Issue resolved
          data:
            push:
              sound:
                name: default
                critical: 1
                volume: 1
            tag: battery1_green_led_issue_notification
  - alias: Purple - Modbus & Wi-Fi failed
    if:
      - condition: template
        value_template: >
          {{ state_attr('light.esphome_web_xxxxxx_lilygo_01_status_led',
          'rgb_color') == (255, 0, 255) }}
    then:
      - action: notify.mobile_app_<device>
        data:
          title: Battery 1
          message: Modbus & Wi-Fi failed
          data:
            push:
              sound:
                name: default
                critical: 1
                volume: 1
            tag: battery1_purple_led_issue_notification
  - alias: Blue - Weak Wi-Fi signal
    if:
      - condition: template
        value_template: >
          {{ state_attr('light.esphome_web_xxxxxx_lilygo_01_status_led',
          'rgb_color') == (0, 0, 255) }}
    then:
      - action: notify.mobile_app_<device>
        data:
          title: Battery 1
          message: Weak Wi-Fi signal
          data:
            push:
              sound:
                name: default
                critical: 1
                volume: 1
            tag: battery1_blue_led_issue_notification
  - alias: Red - Modbus error, Wi-Fi ok
    if:
      - condition: template
        value_template: >
          {{ state_attr('light.esphome_web_xxxxxx_lilygo_01_status_led',
          'rgb_color') == (255, 0, 0) }}
    then:
      - action: notify.mobile_app_<device>
        data:
          title: Battery 1
          message: Modbus error, Wi-Fi ok
          data:
            push:
              sound:
                name: default
                critical: 1
                volume: 1
            tag: battery1_red_led_issue_notification


En gebruik ook nog badges op mijn Overview dashboard:

code:
1
2
3
4
5
6
7
8
9
10
type: entity
show_name: true
show_state: false
show_icon: true
entity: light.esphome_web_xxxxxx_lilygo_01_status_led
visibility:
  - condition: state
    entity: binary_sensor.battery_1_led
    state: "on"
name: Battery 1


Die leest een boolean template sensor (show as Problem) uit die triggert bij issue

code:
1
2
{% set rgb = state_attr('light.esphome_web_xxxxxx_lilygo_01_status_led', 'rgb_color') %}
{{ rgb != (0, 255, 0) }}


Bij mij blijkt de volgende tijdelijke fix het meest stabiel:

1. Delete batterij uit de app
2. Voeg batterij opnieuw toe
3. Factory reset van de batterij
4. Delete de batterij uit de app
5. Voeg batterij opnieuw toe

In de meeste gevallen connect hij dan naar Wi-Fi en vindt hij de MT CT-003 direct.
Heel interessant! Ga ik zeker toepassen... als ik zo ver ben :D
Ik heb nu een groen ligt en hij wordt eindelijk ontdekt in HA... maar nu weer iets met de API

Hoop dat google mij kan helpen. Als ik maar niet weer overnieuw moet beginnen... hahahaha

Acties:
  • 0 Henk 'm!

  • Arjanski
  • Registratie: Oktober 2022
  • Laatst online: 07-06 19:54
VVouter schreef op woensdag 28 mei 2025 @ 21:28:
[...]


Daar staat 102 i.p.v. 192, dat zal de oorzaak zijn gok ik.
Inderdaad,,, hoe kan dat nou? Maar met 192 zelfde...
Ik gebruikte steeds het geheugen van de webbrowser... zeg maar. 1 typefoutje...
pffttt
maar nog niet.

Acties:
  • 0 Henk 'm!

  • Arjanski
  • Registratie: Oktober 2022
  • Laatst online: 07-06 19:54
Time out bij het ip...
Echt om helemaal gek van te worden dat ESP

Acties:
  • +1 Henk 'm!

  • pascallj
  • Registratie: Mei 2011
  • Laatst online: 23:09
Arjanski schreef op woensdag 28 mei 2025 @ 21:39:
Time out bij het ip...
Echt om helemaal gek van te worden dat ESP
Ik vermoed toch echt dat je het probleem bij jezelf moet zoeken en niet bij de ESP. Ik heb er hier een hoop gebruikt en nog nooit problemen gehad 7(8)7

Acties:
  • 0 Henk 'm!

  • Dolf_Tweakers
  • Registratie: Januari 2025
  • Laatst online: 06-06 21:33
VVouter schreef op woensdag 28 mei 2025 @ 21:18:
Had hier ook last van rode led's, oorzaak is ontvangst/dekking en de discutabele Wi-Fi hardware/software van de batterij. Had geprobeerd om de antenne los te krijgen en te vervangen voor een grotere spriet. Maar die zat te vast en wilde hem niet afbreken met nog minder ontvangst als gevolg. Heb hier in Home Assistant een dashboard gemaakt en daar ook de LED's een plekje in gegeven.

[Afbeelding]

[Afbeelding]

Daarnaast heb ik automations gemaakt die me informeren over issues door onder andere de sensors uit de Lilygo als Poblem aan te merken en daarop te triggeren. Hetzelfde geldt voor de kleur van de LED. Hieronder wat code snippets van de trigger states daarvan:

code:
1
2
3
4
5
trigger: state
entity_id:
  - light.esphome_web_xxxxxx_lilygo_01_status_led
attribute: rgb_color
enabled: false


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
alias: LED state change
parallel:
  - alias: Green - Issue resolved
    if:
      - condition: template
        value_template: >
          {{ state_attr('light.esphome_web_xxxxxx_lilygo_01_status_led',
          'rgb_color') == (0, 255, 0) }}
    then:
      - action: notify.mobile_app_<device>
        data:
          title: Battery 1
          message: Issue resolved
          data:
            push:
              sound:
                name: default
                critical: 1
                volume: 1
            tag: battery1_green_led_issue_notification
  - alias: Purple - Modbus & Wi-Fi failed
    if:
      - condition: template
        value_template: >
          {{ state_attr('light.esphome_web_xxxxxx_lilygo_01_status_led',
          'rgb_color') == (255, 0, 255) }}
    then:
      - action: notify.mobile_app_<device>
        data:
          title: Battery 1
          message: Modbus & Wi-Fi failed
          data:
            push:
              sound:
                name: default
                critical: 1
                volume: 1
            tag: battery1_purple_led_issue_notification
  - alias: Blue - Weak Wi-Fi signal
    if:
      - condition: template
        value_template: >
          {{ state_attr('light.esphome_web_xxxxxx_lilygo_01_status_led',
          'rgb_color') == (0, 0, 255) }}
    then:
      - action: notify.mobile_app_<device>
        data:
          title: Battery 1
          message: Weak Wi-Fi signal
          data:
            push:
              sound:
                name: default
                critical: 1
                volume: 1
            tag: battery1_blue_led_issue_notification
  - alias: Red - Modbus error, Wi-Fi ok
    if:
      - condition: template
        value_template: >
          {{ state_attr('light.esphome_web_xxxxxx_lilygo_01_status_led',
          'rgb_color') == (255, 0, 0) }}
    then:
      - action: notify.mobile_app_<device>
        data:
          title: Battery 1
          message: Modbus error, Wi-Fi ok
          data:
            push:
              sound:
                name: default
                critical: 1
                volume: 1
            tag: battery1_red_led_issue_notification


En gebruik ook nog badges op mijn Overview dashboard:

code:
1
2
3
4
5
6
7
8
9
10
type: entity
show_name: true
show_state: false
show_icon: true
entity: light.esphome_web_xxxxxx_lilygo_01_status_led
visibility:
  - condition: state
    entity: binary_sensor.battery_1_led
    state: "on"
name: Battery 1


Die leest een boolean template sensor (show as Problem) uit die triggert bij issue

code:
1
2
{% set rgb = state_attr('light.esphome_web_xxxxxx_lilygo_01_status_led', 'rgb_color') %}
{{ rgb != (0, 255, 0) }}


Bij mij blijkt de volgende tijdelijke fix het meest stabiel:

1. Delete batterij uit de app
2. Voeg batterij opnieuw toe
3. Factory reset van de batterij
4. Delete de batterij uit de app
5. Voeg batterij opnieuw toe

In de meeste gevallen connect hij dan naar Wi-Fi en vindt hij de MT CT-003 direct.
Wow, ziet er gelikt uit!
Zit je in een 3F-systeem?
NL of BE?

B | VW ID.7 Tourer (77kWh) | SolarEdge SE3500H-BE 3.5kW - 4.86 Wp (18 Boviet BVM6610P-270 + Optimizers) 171° | Home Assistant


Acties:
  • 0 Henk 'm!

  • VVouter
  • Registratie: Mei 2025
  • Laatst online: 06-06 15:24
Dolf_Tweakers schreef op woensdag 28 mei 2025 @ 21:42:
[...]


Wow, ziet er gelikt uit!
Zit je in een 3F-systeem?
NL of BE?
Thanks! Heb 3 fase aansluiting in NL, nu nog 2 batterijen op random groepen met 800w charging limiet. Binnenkort gaan ze naar de garage (staat los van de woning) en allebei op een eigen groep. Daarna kan de 800w charging limiet er af en kunnen ze (als het goed is) voldoende vooor NOM leveren als de kookplaat en/of Quooker gebruikt worden.

Acties:
  • 0 Henk 'm!

  • Arjanski
  • Registratie: Oktober 2022
  • Laatst online: 07-06 19:54
Ik weet niet meer hoe ik het gedaan heb maar ik heb hem in HA kunnen krijgen, dus heb alle sensors nu in HA. Toen moest ik hem loskoppelen van de usb en weer aangesloten. Maar komt niks binnen, onderaan zie ik ook dat ie geen Wifi heeft. Er gaat iets mis met mijn wifi.
1 keer lukte het dus. Via een KPN V10 modem. Af en toe heb je de meest idiote dingen met dat ding ook.
Denk dat ik eerst maar een ga kijken voor een Fritsbox... ben die kpn modem helemaal zat.

Acties:
  • +1 Henk 'm!

  • Hometek
  • Registratie: Februari 2025
  • Laatst online: 23:58
Arjanski schreef op woensdag 28 mei 2025 @ 22:08:
Ik weet niet meer hoe ik het gedaan heb maar ik heb hem in HA kunnen krijgen, dus heb alle sensors nu in HA. Toen moest ik hem loskoppelen van de usb en weer aangesloten. Maar komt niks binnen, onderaan zie ik ook dat ie geen Wifi heeft. Er gaat iets mis met mijn wifi.
1 keer lukte het dus. Via een KPN V10 modem. Af en toe heb je de meest idiote dingen met dat ding ook.
Denk dat ik eerst maar een ga kijken voor een Fritsbox... ben die kpn modem helemaal zat.
Als je met Marstek/Lilygo/HA aan de gang gaat beslist eerst je wifi op orde brengen. Anders blijf je aan het zoeken...
Zou ook aanraden om alle relevante wifi apparaten in je router op vaste IP adressen te zetten.

2x Venus E (Gen1) V151, Shelly Pro EM-50, Lilygo+HA


Acties:
  • +1 Henk 'm!

  • SatScan
  • Registratie: Februari 2024
  • Laatst online: 23:30
Arjanski schreef op woensdag 28 mei 2025 @ 21:26:
Ik ben er nu echt bijna...

HA vind hem nu zelf en dat had ik nog niet, maar nu dit weer. Weet toch zeker dat die api goed is...

Dit moet toch een klein dingetje zijn hoop ik...

[Afbeelding]
Misschien dat dit je helpt... YouTube: Marstek Venus in Home Assistant integreren

[ Voor 74% gewijzigd door SatScan op 29-05-2025 10:04 ]

.NL | BYD Atto3 | PulsarPlus EV +Balancer | WP7.7K Z | 2 MT Venus 5.12KWh V151 - CT003 V115 | 2 Mitsubitshi single airco's | EPC 0.0 | HA DS224+


Acties:
  • +1 Henk 'm!

  • Arjanski
  • Registratie: Oktober 2022
  • Laatst online: 07-06 19:54
HET WERKT!!!!

Het viel mij ineens op dat als ik de usb aansloot en de voeding er op had aangesloten dat ik wel een goede wifi verbinding kreeg.

Dat was het hele eieren eten dus.

Ik had eerst een voeding die iets minder dan 5 volt leverde en zag ergens dat de voeding echt goed moest zijn. Toen een andere opgezocht die net even iets meer voeding gaf. Werkte ook niet.

Daarna viel het mij ineens op.

Ik heb nu (misschien tijdelijk) een usb lader en de 5 volt voeding op het board aangesloten en werkt als een tierelier.

Ik ga morgen ff kijken hoe het met de Ampere's zit op die voedingkjes, dan miischien toch een betere kopen.

Maar ja ik vind het ook goed als het zo werkt.

2 dagen klooien. Tig keer hetzelde doen of net even anders.

Is het de voeding...........

CHAMPAGNE!!!!!!!!!

Dank voor de hulp allemaal!!! En ik ga zeker dit hele forum toch lezen, staan vast hele leuke dingen in :D

YEAHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

Ik kan met een gerust hart naar bed nu :D

Acties:
  • 0 Henk 'm!

  • Arjanski
  • Registratie: Oktober 2022
  • Laatst online: 07-06 19:54
En natuurlijk vooral een diepe buiging voor superduper1969
Echt super werkt, ik ben hier echt heel blij mee!!! Tnx man voor je noeste arbeid!

Acties:
  • +2 Henk 'm!

  • badnews.nl
  • Registratie: Januari 2002
  • Laatst online: 22:35
Wâldpyk-9 schreef op maandag 26 mei 2025 @ 13:02:
[...]


Gelukt! Ik kom die 5V tegen op de 2 zwarte draden😃
Ik was dus inderdaad met de meter aan het zoeken, even tijdelijk usb-c voeding erop, alles werkte, en toen met de meter kijken waarom ik geen 5v had op de zwart-rode draden..
En kwam erachter dat er dus 5v op de twee zwarte draden stond. Dus gelijk gelabelled met plus en min en alles werkte!

Acties:
  • 0 Henk 'm!

  • wrak
  • Registratie: Januari 2004
  • Laatst online: 21:26
Sinds 2 weken draait er hier ook een marstek venus. Met een esp32-Wroom met een ttl->rs485 bordje op de modbus. Op een ding na werkt alles naar verwachting. De "Battery Power" waarden address: 32102 wijken aanzienlijk af van wat ik in de app zie.
de modbus geeft 100 tot 240 watt lager aan dan de app. Iemand die dit herkent?

MTVenusV151+esp32RS485+ShellyEmulatie·18ZP 6*APS 5.9WP·EaseeHome·MG4lux2023·ThemaV 7kW+esp32RS485


Acties:
  • 0 Henk 'm!

  • pascallj
  • Registratie: Mei 2011
  • Laatst online: 23:09
wrak schreef op donderdag 29 mei 2025 @ 15:00:
Sinds 2 weken draait er hier ook een marstek venus. Met een esp32-Wroom met een ttl->rs485 bordje op de modbus. Op een ding na werkt alles naar verwachting. De "Battery Power" waarden address: 32102 wijken aanzienlijk af van wat ik in de app zie.
de modbus geeft 100 tot 240 watt lager aan dan de app. Iemand die dit herkent?
De waarde "AC Power" zou overeen moeten komen met wat er in de app staat. De waarde "Battery Power" zou het vermogen voor de omvormer moeten zijn.

Acties:
  • 0 Henk 'm!

  • badnews.nl
  • Registratie: Januari 2002
  • Laatst online: 22:35
Suggesties voor een betere integratie in Homey?
Ik draai een HA in een docker container ergens in huis, hierop zit de esphome met de Marstek.
Deze is dan met HA app op homey zichtbaar, maar redelijk onbruikbaar.

Nu heb ik een Virtual device aangemaakt, type Solar, en een flow met elke 15 seconde een update van opladen/leveren van de Marstek via HA en hoe vol de accu is in kWh.
Hierdoor is deze zichtbaar in het Energy Tab.

Te doen, maar wel wat omslachtig.
Afbeeldingslocatie: https://tweakers.net/i/q7U8Z58Yf0QgSfbYbYlK9X3dIbI=/x800/filters:strip_icc():strip_exif()/f/image/w3oFkdcw6xQndELpUXbgyuB2.jpg?f=fotoalbum_large

(Regenachtige dag en weinig kunnen laden)
Afbeeldingslocatie: https://tweakers.net/i/YhGCYDXFIjwm9ZckeE-m53Lv3pY=/x800/filters:strip_icc():strip_exif()/f/image/43Sw9HQxV4LJ7fIgtc4W6WgD.jpg?f=fotoalbum_large


Zijn er betere manieren?

Acties:
  • 0 Henk 'm!

  • wrak
  • Registratie: Januari 2004
  • Laatst online: 21:26
pascallj schreef op donderdag 29 mei 2025 @ 15:02:
[...]


De waarde "AC Power" zou overeen moeten komen met wat er in de app staat. De waarde "Battery Power" zou het vermogen voor de omvormer moeten zijn.
Dank! ik ga een en ander aanpassen.

MTVenusV151+esp32RS485+ShellyEmulatie·18ZP 6*APS 5.9WP·EaseeHome·MG4lux2023·ThemaV 7kW+esp32RS485


Acties:
  • 0 Henk 'm!

  • RobinGla
  • Registratie: Mei 2025
  • Laatst online: 07-06 17:07
Broodro0ster schreef op dinsdag 27 mei 2025 @ 23:44:
[...]

Do you see the elfin on the local network and is the wiring correct? For me and my mate it was really plug and play with the instructions in the opening post.
Yeah I See the Elfin on my Network. And I checked the wiring several times.
I followed the instructions exactly. Thats the Problem.
I don't know where my mistake is.

Acties:
  • 0 Henk 'm!

  • denievankleef
  • Registratie: Februari 2025
  • Laatst online: 06-06 23:35
pascallj schreef op dinsdag 27 mei 2025 @ 23:11:
[...]


Bijna, de Charge to SOC staat los van de Forcible acties (oftewel de een overschrijft de andere in jouw geval). Ik heb het hier samengevat: pascallj in "Marstek Venus / Duravolt PnP Thuisaccu Modbus koppeling"

Mocht het daarna als nog niet duidelijk zijn hoor ik het wel ;)
Helaas, ik begrijp t niet :( hoezo staat SOC los van Force?
Force is toch juist dat hij moet laden en stopt bij SOC ?

Ik heb nu charge aangezet op 11% batterij en verwacht dat hij dus stopt bij 12% maar gaat gewoon door.
Daarnaast pakt hij minder vermogen dan dat hij mag van de force & max waardes..

Afbeeldingslocatie: https://tweakers.net/i/R8vF63xo8u89Au3xzS6tKdyxUT8=/x800/filters:strip_icc():strip_exif()/f/image/cFSjlXCPHw0ZYAI5g5bLNTsd.jpg?f=fotoalbum_large

[ Voor 6% gewijzigd door denievankleef op 29-05-2025 17:58 ]


Acties:
  • +1 Henk 'm!

  • pascallj
  • Registratie: Mei 2011
  • Laatst online: 23:09
denievankleef schreef op donderdag 29 mei 2025 @ 17:57:
[...]


Helaas, ik begrijp t niet :( hoezo staat SOC los van Force?
Force is toch juist dat hij moet laden en stopt bij SOC ?

Ik heb nu charge aangezet op 11% batterij en verwacht dat hij dus stopt bij 12% maar gaat gewoon door.
Daarnaast pakt hij minder vermogen dan dat hij mag van de force & max waardes..

[Afbeelding]
Je hebt 3 acties met 'Forcible' in de naam. Die zijn aan elkaar gerelateerd. Dus het op- en ontlaadvermogen en de status van de actie: stop, opladen of ontladen.

De Charge to SOC staat los van die instellingen en moet je dus gebruiken zonder gebruik te maken van die andere. Charge to SOC betekent gewoon (ont)laad zo snel mogelijk tot dit percentage.

Het zijn gewoon verschillende manieren om te op-/ontladen of de batterij naar een bepaald niveau te krijgen.

[ Voor 5% gewijzigd door pascallj op 29-05-2025 18:16 ]


Acties:
  • 0 Henk 'm!

  • Hometek
  • Registratie: Februari 2025
  • Laatst online: 23:58
pascallj schreef op donderdag 29 mei 2025 @ 18:15:
[...]
Je hebt 3 acties met 'Forcible' in de naam. Die zijn aan elkaar gerelateerd. Dus het op- en ontlaadvermogen en de status van de actie: stop, opladen of ontladen.

De Charge to SOC staat los van die instellingen en moet je dus gebruiken zonder gebruik te maken van die andere. Charge to SOC betekent gewoon (ont)laad zo snel mogelijk tot dit percentage.

Het zijn gewoon verschillende manieren om te op-/ontladen of de batterij naar een bepaald niveau te krijgen.
Ik heb een beetje met de Charge to SOC zitten spelen. Als ik het goed begrijp wordt deze functie uitsluitend actief als:
  • de Charge To SOC waarde gewijzigd is sinds de laatste keer dat deze gebruikt is
  • RS485 Control Mode enabled is
De volgorde maakt niet uit.

Initieel staat de Charge To SOC op 0.0%, na gebruik blijft deze op de laatste instelling staan (12-100%)
Als je de functie wilt activeren met dezelfde instelling als de laatste keer moet je de waarde opnieuw invoeren, ook al staat deze daar nog.

2x Venus E (Gen1) V151, Shelly Pro EM-50, Lilygo+HA


Acties:
  • +2 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
Wat betreft bluetooth en benaderbaar...

Je kan in esphome wel de bluetooth bezetten via de esp32
Dan is hij niet meer zichtbaar

Even mee gespeeld (met een atom s3 lite) en lijkt te werken
edit: (met de switch nog even verder testen)

YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Enable Bluetooth Low Energy (BLE)
esp32_ble_tracker:

ble_client:
  - mac_address: "XX:XX:XX:XX:XX:XX"
    id: marstek_m1_ble

switch:
  - platform: template
    name: "BLE Connect"
    id: marstek_ble_switch
    optimistic: true
    turn_on_action:
      - ble_client.connect: marstek_m1_ble
    turn_off_action:
      - ble_client.disconnect: marstek_m1_ble

[ Voor 9% gewijzigd door AUijtdehaag op 29-05-2025 20:34 ]

PVOutput Github - Div ESP TK: MHI - Clack - Ecodan


Acties:
  • +2 Henk 'm!

  • denievankleef
  • Registratie: Februari 2025
  • Laatst online: 06-06 23:35
thanks @pascallj en @Hometek -- ik begrijp het nu.. zag het niet omdat ik alle knoppen tegelijk zat te verdraaien, haha. Dit is wel top, nu kan ik dus op 5 manieren laden!
- SOC percentage
- met 'de force' =P
- manual
- anti-feed
- ai ;)

thanks, nou kan ik mijn energie plan gaan uit programmeren!

Acties:
  • 0 Henk 'm!

  • mgiebels
  • Registratie: Maart 2015
  • Laatst online: 08-06 09:48
denievankleef schreef op donderdag 29 mei 2025 @ 20:09:
thanks @pascallj en @Hometek -- ik begrijp het nu.. zag het niet omdat ik alle knoppen tegelijk zat te verdraaien, haha. Dit is wel top, nu kan ik dus op 5 manieren laden!
- SOC percentage
- met 'de force' =P
- manual
- anti-feed
- ai ;)

thanks, nou kan ik mijn energie plan gaan uit programmeren!
Is het dan ook mogelijk wat me ouders eventueel willen me moeder heeft COPD apparaat die zouden ze nog wel even aan de accu willen hangen indien het uitvalt.

Als je een speciale manier vind om dan op te laden en niet tot 12% te gaan

Of zeg ik nu wat vreemds

Acties:
  • 0 Henk 'm!

  • denievankleef
  • Registratie: Februari 2025
  • Laatst online: 06-06 23:35
mgiebels schreef op donderdag 29 mei 2025 @ 20:11:
[...]

Is het dan ook mogelijk wat me ouders eventueel willen me moeder heeft COPD apparaat die zouden ze nog wel even aan de accu willen hangen indien het uitvalt.

Als je een speciale manier vind om dan op te laden en niet tot 12% te gaan

Of zeg ik nu wat vreemds
Ik weet niet of de "discharge cutoff" ook werkt als je de "backup functie" hebt aanstaan, lijkt me wel, maar zou t even testen, simpelweg je huidige batterij percentage (bv 45) -1 als discharge cutoff instellen en de backup functie gebruiken, kijken of je nog power krijgt als hij op 44% batterij staat

Acties:
  • +1 Henk 'm!

  • pascallj
  • Registratie: Mei 2011
  • Laatst online: 23:09
denievankleef schreef op donderdag 29 mei 2025 @ 20:16:
[...]

Ik weet niet of de "discharge cutoff" ook werkt als je de "backup functie" hebt aanstaan, lijkt me wel, maar zou t even testen, simpelweg je huidige batterij percentage (bv 45) -1 als discharge cutoff instellen en de backup functie gebruiken, kijken of je nog power krijgt als hij op 44% batterij staat
Toevallig vandaag nog eens over gepost om het te verifiëren: pascallj in "Hame / Marstek / Duravolt 5,12kWh plug en play thuisaccu"

TL;DR: dat werkt niet.

@mgiebels: met sturing via Home Assistant kan je dat zelf gaan programmeren. Dan kon en kan dat allemaal. Maar dat wilde je ouders volgens mij niet dus dan wordt het lastig.

Acties:
  • 0 Henk 'm!

  • superduper1969
  • Registratie: December 2005
  • Laatst online: 19:49
badnews.nl schreef op donderdag 29 mei 2025 @ 15:11:
Suggesties voor een betere integratie in Homey?
Ik draai een HA in een docker container ergens in huis, hierop zit de esphome met de Marstek.
Deze is dan met HA app op homey zichtbaar, maar redelijk onbruikbaar.

Nu heb ik een Virtual device aangemaakt, type Solar, en een flow met elke 15 seconde een update van opladen/leveren van de Marstek via HA en hoe vol de accu is in kWh.
Hierdoor is deze zichtbaar in het Energy Tab.

Te doen, maar wel wat omslachtig.
[Afbeelding]

(Regenachtige dag en weinig kunnen laden)
[Afbeelding]


Zijn er betere manieren?
De Homey versie van ESP home gebruiken? https://homey.app/nl-nl/app/nl.inversion.esphome/ESPhome/

MTVenus V151 CT003 V114 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt


Acties:
  • 0 Henk 'm!

  • superduper1969
  • Registratie: December 2005
  • Laatst online: 19:49
RobinGla schreef op dinsdag 27 mei 2025 @ 20:38:
Hello from Germany.
I hope it's okay if I write in English.
After reading the instructions for the Elfin EW11 several times and following them step by step, I still can't get any values ​​into my Home Assistant. All my entities have the status: Not available.
Does anyone have any suggestions as to what might be causing this?[Afbeelding]
You need to provide more info + screenshots:
- Battery V1 or V2
- Cabling photo
- Elfin Serial Port Screenshot
- Elfin Configuration Settings Screenshot
- Elfin Home screen > does it show the IP of the Client (HA) Screenshot
- Top part of config Screenshot
- HA Error log
Remember that the Elwin is the SERVER and the HA is the Client so do not mix up the IP addresses.

MTVenus V151 CT003 V114 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt


Acties:
  • +1 Henk 'm!

  • badnews.nl
  • Registratie: Januari 2002
  • Laatst online: 22:35
Euh, omdat het ongeveer de minst gebruikvriendelijke app is die er op Homey bestaat, en er al volgens mij een jaar lang geen updates van zijn gemaakt.
Zal het (weer) eens proberen (new physical device, dan een virtual device aanmaken met referentie naar physical device, lijstje afscrollen en hopen dat ie het opslaat). (Wat is HA soms relaxed, en nee, ik heb te vaak mijn hele zwave moeten toevoegen door updates van HA).

De modbus met de lilygo werkt trouwens super! Echt super bedankt voor iedereen die er tijd in heeft gestoken!!!

Acties:
  • +3 Henk 'm!

  • JanAllElectric
  • Registratie: December 2017
  • Laatst online: 08-06 12:32
denievankleef schreef op donderdag 29 mei 2025 @ 17:57:
[...]


......

Daarnaast pakt hij minder vermogen dan dat hij mag van de force & max waardes..

.....
Dat zijn de eigenaardigheden van de Marsteks waarmee je rekening moet houden bij het programmeren. Bij SOC >=95% wordt bij charge het geleverde AC power getrotteld tot 1200W en (als ik jouw plaatje zie) bij <= 15% ook tot ca 1200W. NB: dat laatste zie ik eigenlijk bij mijn Marstek alleen bij discharge.

Dus
- charge && SOC >=95 && forcible_charge > 1200W => krijgt -1200W AC Power.
- discharge && SOC <=15% && forcible_discharge >1200W => krijgt 1200W AC Power

[ Voor 18% gewijzigd door JanAllElectric op 29-05-2025 23:51 ]

Panasonic TCAP 12kW J-versie + Heishamon/HA/Node-Red/Grafana/InfluxDB; Atlantic v3 200L; 5* jaga strada 21 & zelfbouw DBE; 3*2400Wp (O,Z,W); KIA EV6 77kWh RWD + EVCC/cFos Wallbox solar; 3* Marstek 5kWh (v151)+CT003 (v114)+ modbus/lilygo/node-red/HA


Acties:
  • 0 Henk 'm!

  • RobinGla
  • Registratie: Mei 2025
  • Laatst online: 07-06 17:07
superduper1969 schreef op donderdag 29 mei 2025 @ 22:30:
[...]

You need to provide more info + screenshots:
- Battery V1 or V2
- Cabling photo
- Elfin Serial Port Screenshot
- Elfin Configuration Settings Screenshot
- Elfin Home screen > does it show the IP of the Client (HA) Screenshot
- Top part of config Screenshot
- HA Error log
Remember that the Elwin is the SERVER and the HA is the Client so do not mix up the IP addresses.
I should have the Version 1 :X The host IP is the same IP as the upper IP in the status image. And the lower IP in the Status image is the IP from my HA.
Error Log from HA:
2025-05-30 09:02:45.350 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration hacs which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2025-05-30 09:03:04.351 ERROR (MainThread) [homeassistant.components.mqtt.entity] The option `last_reset_value_template` cannot be used together with state class `None` for manually configured MQTT sensor item, in /config/configuration.yaml, line 17 Got {'state_topic': 'energy/solar', 'json_attributes_topic': 'energy/solar', 'payload_available': '1', 'last_reset_value_template': '1970-01-01T00:00:00+00:00'}
2025-05-30 09:03:04.415 WARNING (MainThread) [homeassistant.components.mqtt.sensor] The unit of measurement `sec` is not valid together with device class `duration`. this will stop working in HA Core 2025.7.0
2025-05-30 09:03:05.428 WARNING (MainThread) [homeassistant.components.sensor] Entity sensor.growatt_gesamt_laufzeit (<class 'homeassistant.components.mqtt.sensor.MqttSensor'>) is using native unit of measurement 'sec' which is not a valid unit for the device class ('duration') it is using; expected one of ['s', 'ms', 'h', 'd', 'min', 'μs']; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/home-a...%22integration%3A+mqtt%22
2025-05-30 09:03:19.948 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:03:19.948 ERROR (MainThread) [homeassistant.components.modbus.modbus] Pymodbus: MarstekVenus: Error: device: 1 address: 32100 -> Modbus Error: [Input/Output] No response received after 3 retries, continue with next request
2025-05-30 09:03:39.994 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:04:00.038 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:04:20.084 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:04:40.130 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:05:00.174 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:05:20.221 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:06:00.422 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:06:20.467 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:06:40.511 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:07:00.557 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:07:20.602 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:07:40.645 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:08:00.691 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:08:05.337 WARNING (MainThread) [homeassistant.bootstrap] Setup timed out for bootstrap waiting on {<Task pending name='call_later 0.1' coro=<BasePlatform._async_update_if_not_in_progress() running at /usr/src/homeassistant/homeassistant/components/modbus/entity.py:137> wait_for=<Future pending cb=[Task.task_wakeup()]> cb=[set.remove()]>, <Task pending name='call_later 0.1' coro=<BasePlatform._async_update_if_not_in_progress() running at /usr/src/homeassistant/homeassistant/components/modbus/entity.py:137> wait_for=<Future pending cb=[Task.task_wakeup()]> cb=[set.remove()]>, <Task pending name='call_later 0.1' coro=<BasePlatform._async_update_if_not_in_progress() running at /usr/src/homeassistant/homeassistant/components/modbus/entity.py:137> wait_for=<Future pending cb=[Task.task_wakeup()]> cb=[set.remove()]>, <Task pending name='call_later 0.1' coro=<BasePlatform._async_update_if_not_in_progress() running at /usr/src/homeassistant/homeassistant/components/modbus/entity.py:137> wait_for=<Future pending cb=[Task.task_wakeup()]> cb=[set.remove()]>} - moving forward
2025-05-30 09:08:05.388 ERROR (MainThread) [homeassistant.helpers.event] Error while processing template: Template<template=({% set mode = states('sensor.my_battery_rs485_control_mode') | int %} {{ mode == 21930 }} # True (ON) when Enabled (21930), False (OFF) otherwise) renders=2>
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 644, in async_render
render_result = _render_with_context(self.template, compiled, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2934, in _render_with_context
return template.render(**kwargs)
~~~~~~~~~~~~~~~^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 1295, in render
self.environment.handle_exception()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 942, in handle_exception
raise rewrite_traceback_stack(source=source)
File "<template>", line 1, in top-level template code
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2434, in forgiving_int_filter
raise_no_default("int", value)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 1972, in raise_no_default
raise ValueError(
...<2 lines>...
)
ValueError: Template error: int got invalid input 'unavailable' when rendering template '{% set mode = states('sensor.my_battery_rs485_control_mode') | int %} {{ mode == 21930 }} # True (ON) when Enabled (21930), False (OFF) otherwise' but no default was specified

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 761, in async_render_to_info
render_info._result = self.async_render( # noqa: SLF001
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
variables, strict=strict, log_fn=log_fn, **kwargs
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 646, in async_render
raise TemplateError(err) from err
homeassistant.exceptions.TemplateError: ValueError: Template error: int got invalid input 'unavailable' when rendering template '{% set mode = states('sensor.my_battery_rs485_control_mode') | int %} {{ mode == 21930 }} # True (ON) when Enabled (21930), False (OFF) otherwise' but no default was specified
2025-05-30 09:08:05.404 ERROR (MainThread) [homeassistant.components.template.template_entity] TemplateError('ValueError: Template error: int got invalid input 'unavailable' when rendering template '{% set mode = states('sensor.my_battery_rs485_control_mode') | int %} {{ mode == 21930 }} # True (ON) when Enabled (21930), False (OFF) otherwise' but no default was specified') while processing template 'Template<template=({% set mode = states('sensor.my_battery_rs485_control_mode') | int %} {{ mode == 21930 }} # True (ON) when Enabled (21930), False (OFF) otherwise) renders=4>' for attribute '_state' in entity 'switch.my_battery_rs485_control_mode_switch'
2025-05-30 09:08:05.406 ERROR (MainThread) [homeassistant.helpers.event] Error while processing template: Template<template=({% if states('sensor.my_battery_ac_power') | float < 0 %}
{{ (states('sensor.my_battery_ac_power') | float) *-1 }}
{% else %}
0
{% endif %}) renders=2>
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2415, in forgiving_float_filter
return float(value)
ValueError: could not convert string to float: 'unavailable'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 644, in async_render
render_result = _render_with_context(self.template, compiled, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2934, in _render_with_context
return template.render(**kwargs)
~~~~~~~~~~~~~~~^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 1295, in render
self.environment.handle_exception()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 942, in handle_exception
raise rewrite_traceback_stack(source=source)
File "<template>", line 1, in top-level template code
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2418, in forgiving_float_filter
raise_no_default("float", value)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 1972, in raise_no_default
raise ValueError(
...<2 lines>...
)
ValueError: Template error: float got invalid input 'unavailable' when rendering template '{% if states('sensor.my_battery_ac_power') | float < 0 %}
{{ (states('sensor.my_battery_ac_power') | float) *-1 }}
{% else %}
0
{% endif %}' but no default was specified

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 761, in async_render_to_info
render_info._result = self.async_render( # noqa: SLF001
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
variables, strict=strict, log_fn=log_fn, **kwargs
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 646, in async_render
raise TemplateError(err) from err
homeassistant.exceptions.TemplateError: ValueError: Template error: float got invalid input 'unavailable' when rendering template '{% if states('sensor.my_battery_ac_power') | float < 0 %}
{{ (states('sensor.my_battery_ac_power') | float) *-1 }}
{% else %}
0
{% endif %}' but no default was specified
2025-05-30 09:08:05.420 ERROR (MainThread) [homeassistant.components.template.template_entity] TemplateError('ValueError: Template error: float got invalid input 'unavailable' when rendering template '{% if states('sensor.my_battery_ac_power') | float < 0 %}
{{ (states('sensor.my_battery_ac_power') | float) *-1 }}
{% else %}
0
{% endif %}' but no default was specified') while processing template 'Template<template=({% if states('sensor.my_battery_ac_power') | float < 0 %}
{{ (states('sensor.my_battery_ac_power') | float) *-1 }}
{% else %}
0
{% endif %}) renders=4>' for attribute '_attr_native_value' in entity 'sensor.my_battery_charging_in_w'
2025-05-30 09:08:05.422 ERROR (MainThread) [homeassistant.helpers.event] Error while processing template: Template<template=({% if states('sensor.my_battery_ac_power') | float > 0 %}
{{ (states('sensor.my_battery_ac_power') | float) }}
{% else %}
0
{% endif %}) renders=2>
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2415, in forgiving_float_filter
return float(value)
ValueError: could not convert string to float: 'unavailable'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 644, in async_render
render_result = _render_with_context(self.template, compiled, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2934, in _render_with_context
return template.render(**kwargs)
~~~~~~~~~~~~~~~^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 1295, in render
self.environment.handle_exception()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 942, in handle_exception
raise rewrite_traceback_stack(source=source)
File "<template>", line 1, in top-level template code
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2418, in forgiving_float_filter
raise_no_default("float", value)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 1972, in raise_no_default
raise ValueError(
...<2 lines>...
)
ValueError: Template error: float got invalid input 'unavailable' when rendering template '{% if states('sensor.my_battery_ac_power') | float > 0 %}
{{ (states('sensor.my_battery_ac_power') | float) }}
{% else %}
0
{% endif %}' but no default was specified

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 761, in async_render_to_info
render_info._result = self.async_render( # noqa: SLF001
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
variables, strict=strict, log_fn=log_fn, **kwargs
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 646, in async_render
raise TemplateError(err) from err
homeassistant.exceptions.TemplateError: ValueError: Template error: float got invalid input 'unavailable' when rendering template '{% if states('sensor.my_battery_ac_power') | float > 0 %}
{{ (states('sensor.my_battery_ac_power') | float) }}
{% else %}
0
{% endif %}' but no default was specified
2025-05-30 09:08:05.438 ERROR (MainThread) [homeassistant.components.template.template_entity] TemplateError('ValueError: Template error: float got invalid input 'unavailable' when rendering template '{% if states('sensor.my_battery_ac_power') | float > 0 %}
{{ (states('sensor.my_battery_ac_power') | float) }}
{% else %}
0
{% endif %}' but no default was specified') while processing template 'Template<template=({% if states('sensor.my_battery_ac_power') | float > 0 %}
{{ (states('sensor.my_battery_ac_power') | float) }}
{% else %}
0
{% endif %}) renders=4>' for attribute '_attr_native_value' in entity 'sensor.my_battery_discharging_in_w'
2025-05-30 09:08:05.440 ERROR (MainThread) [homeassistant.helpers.event] Error while processing template: Template<template=({% set mode = states('sensor.my_battery_force_charge_discharge_mode') | int %} {% if mode == 0 %}
Stop
{% elif mode == 1 %}
Charge
{% elif mode == 2 %}
Discharge
{% else %}
Unknown
{% endif %}) renders=2>
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 644, in async_render
render_result = _render_with_context(self.template, compiled, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2934, in _render_with_context
return template.render(**kwargs)
~~~~~~~~~~~~~~~^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 1295, in render
self.environment.handle_exception()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 942, in handle_exception
raise rewrite_traceback_stack(source=source)
File "<template>", line 1, in top-level template code
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2434, in forgiving_int_filter
raise_no_default("int", value)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 1972, in raise_no_default
raise ValueError(
...<2 lines>...
)
ValueError: Template error: int got invalid input 'unavailable' when rendering template '{% set mode = states('sensor.my_battery_force_charge_discharge_mode') | int %} {% if mode == 0 %}
Stop
{% elif mode == 1 %}
Charge
{% elif mode == 2 %}
Discharge
{% else %}
Unknown
{% endif %}' but no default was specified

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 761, in async_render_to_info
render_info._result = self.async_render( # noqa: SLF001
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
variables, strict=strict, log_fn=log_fn, **kwargs
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 646, in async_render
raise TemplateError(err) from err
homeassistant.exceptions.TemplateError: ValueError: Template error: int got invalid input 'unavailable' when rendering template '{% set mode = states('sensor.my_battery_force_charge_discharge_mode') | int %} {% if mode == 0 %}
Stop
{% elif mode == 1 %}
Charge
{% elif mode == 2 %}
Discharge
{% else %}
Unknown
{% endif %}' but no default was specified
2025-05-30 09:08:05.450 ERROR (MainThread) [homeassistant.components.template.template_entity] TemplateError('ValueError: Template error: int got invalid input 'unavailable' when rendering template '{% set mode = states('sensor.my_battery_force_charge_discharge_mode') | int %} {% if mode == 0 %}
Stop
{% elif mode == 1 %}
Charge
{% elif mode == 2 %}
Discharge
{% else %}
Unknown
{% endif %}' but no default was specified') while processing template 'Template<template=({% set mode = states('sensor.my_battery_force_charge_discharge_mode') | int %} {% if mode == 0 %}
Stop
{% elif mode == 1 %}
Charge
{% elif mode == 2 %}
Discharge
{% else %}
Unknown
{% endif %}) renders=4>' for attribute '_attr_native_value' in entity 'sensor.my_battery_force_charge_discharge_mode_status'
2025-05-30 09:08:05.459 ERROR (MainThread) [homeassistant.helpers.event] Error while processing template: Template<template=({% set mode = states('sensor.my_battery_rs485_control_mode') | int %} {% if mode == 21930 %}
Enabled
{% elif mode == 21947 %}
Disabled
{% else %}
Unknown
{% endif %}) renders=2>
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 644, in async_render
render_result = _render_with_context(self.template, compiled, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2934, in _render_with_context
return template.render(**kwargs)
~~~~~~~~~~~~~~~^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 1295, in render
self.environment.handle_exception()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 942, in handle_exception
raise rewrite_traceback_stack(source=source)
File "<template>", line 1, in top-level template code
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2434, in forgiving_int_filter
raise_no_default("int", value)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 1972, in raise_no_default
raise ValueError(
...<2 lines>...
)
ValueError: Template error: int got invalid input 'unavailable' when rendering template '{% set mode = states('sensor.my_battery_rs485_control_mode') | int %} {% if mode == 21930 %}
Enabled
{% elif mode == 21947 %}
Disabled
{% else %}
Unknown
{% endif %}' but no default was specified

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 761, in async_render_to_info
render_info._result = self.async_render( # noqa: SLF001
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
variables, strict=strict, log_fn=log_fn, **kwargs
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 646, in async_render
raise TemplateError(err) from err
homeassistant.exceptions.TemplateError: ValueError: Template error: int got invalid input 'unavailable' when rendering template '{% set mode = states('sensor.my_battery_rs485_control_mode') | int %} {% if mode == 21930 %}
Enabled
{% elif mode == 21947 %}
Disabled
{% else %}
Unknown
{% endif %}' but no default was specified
2025-05-30 09:08:05.474 ERROR (MainThread) [homeassistant.components.template.template_entity] TemplateError('ValueError: Template error: int got invalid input 'unavailable' when rendering template '{% set mode = states('sensor.my_battery_rs485_control_mode') | int %} {% if mode == 21930 %}
Enabled
{% elif mode == 21947 %}
Disabled
{% else %}
Unknown
{% endif %}' but no default was specified') while processing template 'Template<template=({% set mode = states('sensor.my_battery_rs485_control_mode') | int %} {% if mode == 21930 %}
Enabled
{% elif mode == 21947 %}
Disabled
{% else %}
Unknown
{% endif %}) renders=4>' for attribute '_attr_native_value' in entity 'sensor.my_battery_rs485_control_mode_status'
2025-05-30 09:08:20.488 WARNING (MainThread) [homeassistant.core] Something is blocking Home Assistant from wrapping up the start up phase. We're going to continue anyway. Please report the following info at https://github.com/home-assistant/core/issues: template.switch, hassio.update, recorder, websocket_api, go2rtc, weather, met.weather, hassio.sensor, assist_pipeline, input_select, input_boolean, system_health, shelly.light, cloud.binary_sensor, met, input_datetime, climate, shelly.cover, mobile_app.sensor, api, mobile_app.binary_sensor, shelly.binary_sensor, intent, cloud, tag, schedule, ssdp, trace, button, camera, update, shelly.valve, mqtt, hacs.update, shelly.update, switch, script, google_translate.tts, bluetooth, system_log, shopping_list.todo, history, hardware, frontend, notify, dhcp, hassio, network, energy, analytics, cloud.tts, device_tracker, persistent_notification, input_text, hacs, device_automation, usb, logbook, forecast_solar.sensor, google_assistant, utility_meter.sensor, blueprint, onboarding, default_config, backup.sensor, homeassistant_alerts, shelly.climate, google_translate, shelly.text, light, number, cover, thread, shelly.select, my, ffmpeg, shelly.event, automation, file_upload, min_max, sensor, shelly.button, mobile_app, cloud.stt, stream, mqtt.sensor, binary_sensor, todo, diagnostics, energy.sensor, media_source, min_max.sensor, event, shelly.number, growatt_server.sensor, shelly.sensor, sun, image_upload, template, shelly.switch, shelly, input_button, search, alexa, repairs, text, auth, integration.sensor, utility_meter, growatt_server, valve, counter, homeassistant, zone, stt, wake_word, person, select, sun.sensor, mobile_app.notify, lovelace, timer, template.sensor, zeroconf, hassio.binary_sensor, scene, homeassistant.scene, shopping_list, hacs.switch, conversation, application_credentials, radio_browser, modbus.sensor, http, mobile_app.device_tracker, config, forecast_solar, modbus, influxdb, webhook, input_number, tts, backup, logger The system is waiting for tasks: {<Task pending name='call_later 0.1' coro=<BasePlatform._async_update_if_not_in_progress() running at /usr/src/homeassistant/homeassistant/components/modbus/entity.py:137> wait_for=<Future pending cb=[Task.task_wakeup()]> cb=[set.remove()]>, <Task pending name='call_later 0.1' coro=<BasePlatform._async_update_if_not_in_progress() running at /usr/src/homeassistant/homeassistant/components/modbus/entity.py:137> wait_for=<Future pending cb=[Task.task_wakeup()]> cb=[set.remove()]>, <Task pending name='call_later 0.1' coro=<BasePlatform._async_update_if_not_in_progress() running at /usr/src/homeassistant/homeassistant/components/modbus/entity.py:137> wait_for=<Future pending cb=[Task.task_wakeup()]> cb=[set.remove()]>, <Task pending name='call_later 0.1' coro=<BasePlatform._async_update_if_not_in_progress() running at /usr/src/homeassistant/homeassistant/components/modbus/entity.py:137> wait_for=<Future pending cb=[Task.task_wakeup()]> cb=[set.remove()]>}
2025-05-30 09:08:21.116 ERROR (MainThread) [homeassistant.components.automation.my_battery_sync_modbus_and_input_select] My Battery Sync Modbus and Input Select: Choose at step 1: choice 1: Error executing script. Error for call_service at pos 1: Error rendering data template: ValueError: Template error: int got invalid input 'unavailable' when rendering template '{% if states('sensor.my_battery_user_work_mode') | int == 0 %}
Manual
{% elif states('sensor.my_battery_user_work_mode') | int == 1 %}
Anti-Feed
{% elif states('sensor.my_battery_user_work_mode') | int == 2 %}
Trade Mode
{% else %}
Manual
{% endif %}' but no default was specified
2025-05-30 09:08:21.118 ERROR (MainThread) [homeassistant.components.automation.my_battery_sync_modbus_and_input_select] My Battery Sync Modbus and Input Select: Error executing script. Error for choose at pos 1: Error rendering data template: ValueError: Template error: int got invalid input 'unavailable' when rendering template '{% if states('sensor.my_battery_user_work_mode') | int == 0 %}
Manual
{% elif states('sensor.my_battery_user_work_mode') | int == 1 %}
Anti-Feed
{% elif states('sensor.my_battery_user_work_mode') | int == 2 %}
Trade Mode
{% else %}
Manual
{% endif %}' but no default was specified
2025-05-30 09:08:21.119 ERROR (MainThread) [homeassistant.components.automation.my_battery_sync_modbus_and_input_select] Error while executing automation automation.my_battery_sync_modbus_and_input_select: Error rendering data template: ValueError: Template error: int got invalid input 'unavailable' when rendering template '{% if states('sensor.my_battery_user_work_mode') | int == 0 %}
Manual
{% elif states('sensor.my_battery_user_work_mode') | int == 1 %}
Anti-Feed
{% elif states('sensor.my_battery_user_work_mode') | int == 2 %}
Trade Mode
{% else %}
Manual
{% endif %}' but no default was specified
2025-05-30 09:08:41.135 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:09:01.183 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:09:21.230 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:09:41.275 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:10:01.319 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:10:21.363 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:10:41.408 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:11:21.611 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:11:41.657 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:12:01.701 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:12:21.745 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:12:41.790 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:13:01.834 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:13:21.879 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:14:02.078 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
Afbeeldingslocatie: https://tweakers.net/i/4OPeY3aqbRhJvFJc1n_tnbAqCZc=/x800/filters:strip_icc():strip_exif()/f/image/xSLOTKJaTsFM5o08yizDbV7S.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/QgOAsW8i5z7iXK9QsXOO2uxzT2E=/x800/filters:strip_icc():strip_exif()/f/image/WsfGnFO8lwZw1o1f1gqQQKWW.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/gfXBTXMDwq_CzrJF-nXKFMebvcc=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/BNFCV3mrH5I5BDVKA3kaHBmv.png?f=user_large

Afbeeldingslocatie: https://tweakers.net/i/h2e3gQQqRI0uczG17-BjJsSFQ4I=/800x/filters:strip_exif()/f/image/JgSg8LsLmkasHguQEj43gfC5.png?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/0HqIPrWKRCSMGj_wudrVWCV5BdM=/800x/filters:strip_exif()/f/image/Wa5gPrKkVDMcHHKDm7CB3oJQ.png?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/W6Riz__Nbl8EVRzsLUGBJaJ6zeE=/800x/filters:strip_exif()/f/image/YKvM16OKxQt7mk6vuFdMEw5Z.png?f=fotoalbum_large

Acties:
  • 0 Henk 'm!

  • dannyro
  • Registratie: April 2025
  • Laatst online: 08-06 15:28
matrover schreef op zondag 11 mei 2025 @ 14:30:
[...]


zeker kan dat! intressante waardes. dit is via de Hame Relay niet via modbus.

[Afbeelding]
Sinds 3 dagen werken de temperatuur metingen niet meer. vanaf 27/5 zijn deze waarden onveranderd. Nog iemand opgemerkt?

Acties:
  • 0 Henk 'm!

  • mgiebels
  • Registratie: Maart 2015
  • Laatst online: 08-06 09:48
Ik weet niet of het toeval is maar ik heb met Lilygo aangesloten leest perfect uit.
Alleen sindsdien valt steeds met CT weg zowel van homewizard als Marstek P1 zelf.

zie steeds in de marstek app hem offline staan (of komt het doordat ik die app open laat staan op me telefoon?)

Nu heb ik de marstek app afgesloten en is ook BT lampje uit en lijkt hij aan te blijven met CT.

PS want offline zijn ze niet kan homewizard prima gebruiken in Homeassistant en ook op me ipad los.
Dus de wifi is het sowieso niet

Acties:
  • +1 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online

PVOutput Github - Div ESP TK: MHI - Clack - Ecodan


Acties:
  • 0 Henk 'm!

  • mgiebels
  • Registratie: Maart 2015
  • Laatst online: 08-06 09:48
Update: Heb nu de Marstek app afgesloten gelaten op me telefoon en blijft CT aan.

Ervaren meer dit?

[ Voor 87% gewijzigd door mgiebels op 30-05-2025 19:32 ]


Acties:
  • +4 Henk 'm!

  • Hometek
  • Registratie: Februari 2025
  • Laatst online: 23:58
Mijn Marstek aansturing

Zoals eerder aangegeven was ik op zoek naar mogelijkheden om mijn batterijen via Home Assistant aan te sturen.

De beoogde strategie is natuurlijk een persoonlijke keuze, en voor iedereen anders. Maar de aanpak kan wellicht anderen inspireren.

Na enig geëxperimenteer in HA heb ik besloten om met Node-RED aan de slag te gaan. De UI met grafische flows sluit goed aan bij mijn manier van denken en mijn beperkte ervaring met programmeren.

Ik heb wat voorbeelden gezien van volledige NOM regelingen in HA en heb ook naar complexere systemen zoals EMHASS gekeken.
Maar uiteindelijk heb ik voor een andere aanpak gekozen:
  • NOM sturing door de Marstek EMS zelf laten uitvoeren (regelingen via HA lijken niet beter of sneller te werken?)
  • De B2500 meter (Shelly emulator) gebruiken voor fine-tuning van de regeling, bv een offset om iets meer boven of onder nul uit te komen
  • Automatiseringen in HA voor de volgende taken:
    • Omschakelen naar andere batterij bij vol/leeg
    • Regelmatig tot 100% opladen voor het balancen van de cellen
    • Op basis van verwachte opwek volgende dag zonnepanelen aan of uit schakelen
    • Op basis van verwachte opwek volgende dag tijdens goedkoopste uren opladen
    • Aangepaste strategie voor off-grid
Deze aanpak kan redelijk modulair met losse flows uitgevoerd worden. Alle processen die ik zelf moet bouwen zijn niet kritisch qua responstijd.
Door de bestaande auto en AI regeling in de batterijen te gebruiken wordt de regeltaak in HA een stuk eenvoudiger. Modbus wordt hoofdzakelijk gebruikt om te monitoren en slechts af en toe om iets te veranderen. Er hoeven alleen strategische keuzes gemaakt te worden; welke batterij wordt in welke modus gezet en hoeveel zonnepanelen moet gebruikt worden.

Hiervoor gebruik ik een tabel.

Afbeeldingslocatie: https://tweakers.net/i/b4SEwvuIGdsD8gPhT62kuZt46LU=/800x/filters:strip_exif()/f/image/OXFtMWrYXUTnSUzJeqAVhOhs.png?f=fotoalbum_large

Elke avond om 22:00 haalt HA van Solcast de voorspelde opwek voor de volgende dag op en de actuele SOC, en aan hand van de tabel wordt de batterij modus aangepast en de zonnepanelen aan of uit geschakeld.

Ik gebruik een HW P1 meter om het officieel gemeten verbruik te registreren. De Marstek batterijen zijn gekoppeld aan de geëmuleerde Shelly, en de B2500 meter gebruikt data van een Shelly Pro EM-50.
Deze ‘omweg’ via de B2500 meter in HA heb ik om verschillende redenen gekozen:
  • Ook off-grid actuele data over verbruik
  • De mogelijkheid om ook off-grid met twee batterijen te werken (zie ook deze post)
  • De Shelly Pro EM-50 heeft bij lage vermogens een offset van ca. -20W en vrij veel ruis, in HA kan ik de offset compenseren en de ruis een beetje dempen
De zonnepanelen worden voorlopig via slimme stekkers geschakeld. Dat is een van de redenen om met een planning voor een hele dag te werken, dan worden de panelen alleen ‘s avonds laat geschakeld als er geen opwek is.
Het zijn Hoymiles micro’s, eventueel ga ik later nog eens bekijken of ik ze via openDTU op een nette manier kan sturen.

Een eerste versie, nog zonder opladen bij laagste prijs, draait sinds enkele dagen en de verschillende taken worden goed uitgevoerd. Het lastigste zijn de ‘vol’ en ‘leeg’ momenten, hier is wat hysteresis nodig om eindeloos wisselen van batterij te voorkomen.
Of de strategie goed werkt kan pas over een langere periode bepaald worden, en waarschijnlijk zullen mijn inzichten ook veranderen met de tijd…

2x Venus E (Gen1) V151, Shelly Pro EM-50, Lilygo+HA


Acties:
  • 0 Henk 'm!

  • dannyro
  • Registratie: April 2025
  • Laatst online: 08-06 15:28
Ja, ik heb alles eens terug opgestart, maar het blijft hetzelfde. Ik zoek verder...

Acties:
  • 0 Henk 'm!

  • superduper1969
  • Registratie: December 2005
  • Laatst online: 19:49
RobinGla schreef op vrijdag 30 mei 2025 @ 09:19:
[...]


I should have the Version 1 :X The host IP is the same IP as the upper IP in the status image. And the lower IP in the Status image is the IP from my HA.
Error Log from HA:
2025-05-30 09:02:45.350 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration hacs which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2025-05-30 09:03:04.351 ERROR (MainThread) [homeassistant.components.mqtt.entity] The option `last_reset_value_template` cannot be used together with state class `None` for manually configured MQTT sensor item, in /config/configuration.yaml, line 17 Got {'state_topic': 'energy/solar', 'json_attributes_topic': 'energy/solar', 'payload_available': '1', 'last_reset_value_template': '1970-01-01T00:00:00+00:00'}
2025-05-30 09:03:04.415 WARNING (MainThread) [homeassistant.components.mqtt.sensor] The unit of measurement `sec` is not valid together with device class `duration`. this will stop working in HA Core 2025.7.0
2025-05-30 09:03:05.428 WARNING (MainThread) [homeassistant.components.sensor] Entity sensor.growatt_gesamt_laufzeit (<class 'homeassistant.components.mqtt.sensor.MqttSensor'>) is using native unit of measurement 'sec' which is not a valid unit for the device class ('duration') it is using; expected one of ['s', 'ms', 'h', 'd', 'min', 'μs']; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/home-a...%22integration%3A+mqtt%22
2025-05-30 09:03:19.948 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:03:19.948 ERROR (MainThread) [homeassistant.components.modbus.modbus] Pymodbus: MarstekVenus: Error: device: 1 address: 32100 -> Modbus Error: [Input/Output] No response received after 3 retries, continue with next request
2025-05-30 09:03:39.994 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:04:00.038 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:04:20.084 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:04:40.130 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:05:00.174 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:05:20.221 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:06:00.422 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:06:20.467 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:06:40.511 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:07:00.557 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:07:20.602 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:07:40.645 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:08:00.691 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:08:05.337 WARNING (MainThread) [homeassistant.bootstrap] Setup timed out for bootstrap waiting on {<Task pending name='call_later 0.1' coro=<BasePlatform._async_update_if_not_in_progress() running at /usr/src/homeassistant/homeassistant/components/modbus/entity.py:137> wait_for=<Future pending cb=[Task.task_wakeup()]> cb=[set.remove()]>, <Task pending name='call_later 0.1' coro=<BasePlatform._async_update_if_not_in_progress() running at /usr/src/homeassistant/homeassistant/components/modbus/entity.py:137> wait_for=<Future pending cb=[Task.task_wakeup()]> cb=[set.remove()]>, <Task pending name='call_later 0.1' coro=<BasePlatform._async_update_if_not_in_progress() running at /usr/src/homeassistant/homeassistant/components/modbus/entity.py:137> wait_for=<Future pending cb=[Task.task_wakeup()]> cb=[set.remove()]>, <Task pending name='call_later 0.1' coro=<BasePlatform._async_update_if_not_in_progress() running at /usr/src/homeassistant/homeassistant/components/modbus/entity.py:137> wait_for=<Future pending cb=[Task.task_wakeup()]> cb=[set.remove()]>} - moving forward
2025-05-30 09:08:05.388 ERROR (MainThread) [homeassistant.helpers.event] Error while processing template: Template<template=({% set mode = states('sensor.my_battery_rs485_control_mode') | int %} {{ mode == 21930 }} # True (ON) when Enabled (21930), False (OFF) otherwise) renders=2>
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 644, in async_render
render_result = _render_with_context(self.template, compiled, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2934, in _render_with_context
return template.render(**kwargs)
~~~~~~~~~~~~~~~^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 1295, in render
self.environment.handle_exception()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 942, in handle_exception
raise rewrite_traceback_stack(source=source)
File "<template>", line 1, in top-level template code
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2434, in forgiving_int_filter
raise_no_default("int", value)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 1972, in raise_no_default
raise ValueError(
...<2 lines>...
)
ValueError: Template error: int got invalid input 'unavailable' when rendering template '{% set mode = states('sensor.my_battery_rs485_control_mode') | int %} {{ mode == 21930 }} # True (ON) when Enabled (21930), False (OFF) otherwise' but no default was specified

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 761, in async_render_to_info
render_info._result = self.async_render( # noqa: SLF001
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
variables, strict=strict, log_fn=log_fn, **kwargs
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 646, in async_render
raise TemplateError(err) from err
homeassistant.exceptions.TemplateError: ValueError: Template error: int got invalid input 'unavailable' when rendering template '{% set mode = states('sensor.my_battery_rs485_control_mode') | int %} {{ mode == 21930 }} # True (ON) when Enabled (21930), False (OFF) otherwise' but no default was specified
2025-05-30 09:08:05.404 ERROR (MainThread) [homeassistant.components.template.template_entity] TemplateError('ValueError: Template error: int got invalid input 'unavailable' when rendering template '{% set mode = states('sensor.my_battery_rs485_control_mode') | int %} {{ mode == 21930 }} # True (ON) when Enabled (21930), False (OFF) otherwise' but no default was specified') while processing template 'Template<template=({% set mode = states('sensor.my_battery_rs485_control_mode') | int %} {{ mode == 21930 }} # True (ON) when Enabled (21930), False (OFF) otherwise) renders=4>' for attribute '_state' in entity 'switch.my_battery_rs485_control_mode_switch'
2025-05-30 09:08:05.406 ERROR (MainThread) [homeassistant.helpers.event] Error while processing template: Template<template=({% if states('sensor.my_battery_ac_power') | float < 0 %}
{{ (states('sensor.my_battery_ac_power') | float) *-1 }}
{% else %}
0
{% endif %}) renders=2>
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2415, in forgiving_float_filter
return float(value)
ValueError: could not convert string to float: 'unavailable'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 644, in async_render
render_result = _render_with_context(self.template, compiled, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2934, in _render_with_context
return template.render(**kwargs)
~~~~~~~~~~~~~~~^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 1295, in render
self.environment.handle_exception()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 942, in handle_exception
raise rewrite_traceback_stack(source=source)
File "<template>", line 1, in top-level template code
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2418, in forgiving_float_filter
raise_no_default("float", value)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 1972, in raise_no_default
raise ValueError(
...<2 lines>...
)
ValueError: Template error: float got invalid input 'unavailable' when rendering template '{% if states('sensor.my_battery_ac_power') | float < 0 %}
{{ (states('sensor.my_battery_ac_power') | float) *-1 }}
{% else %}
0
{% endif %}' but no default was specified

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 761, in async_render_to_info
render_info._result = self.async_render( # noqa: SLF001
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
variables, strict=strict, log_fn=log_fn, **kwargs
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 646, in async_render
raise TemplateError(err) from err
homeassistant.exceptions.TemplateError: ValueError: Template error: float got invalid input 'unavailable' when rendering template '{% if states('sensor.my_battery_ac_power') | float < 0 %}
{{ (states('sensor.my_battery_ac_power') | float) *-1 }}
{% else %}
0
{% endif %}' but no default was specified
2025-05-30 09:08:05.420 ERROR (MainThread) [homeassistant.components.template.template_entity] TemplateError('ValueError: Template error: float got invalid input 'unavailable' when rendering template '{% if states('sensor.my_battery_ac_power') | float < 0 %}
{{ (states('sensor.my_battery_ac_power') | float) *-1 }}
{% else %}
0
{% endif %}' but no default was specified') while processing template 'Template<template=({% if states('sensor.my_battery_ac_power') | float < 0 %}
{{ (states('sensor.my_battery_ac_power') | float) *-1 }}
{% else %}
0
{% endif %}) renders=4>' for attribute '_attr_native_value' in entity 'sensor.my_battery_charging_in_w'
2025-05-30 09:08:05.422 ERROR (MainThread) [homeassistant.helpers.event] Error while processing template: Template<template=({% if states('sensor.my_battery_ac_power') | float > 0 %}
{{ (states('sensor.my_battery_ac_power') | float) }}
{% else %}
0
{% endif %}) renders=2>
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2415, in forgiving_float_filter
return float(value)
ValueError: could not convert string to float: 'unavailable'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 644, in async_render
render_result = _render_with_context(self.template, compiled, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2934, in _render_with_context
return template.render(**kwargs)
~~~~~~~~~~~~~~~^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 1295, in render
self.environment.handle_exception()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 942, in handle_exception
raise rewrite_traceback_stack(source=source)
File "<template>", line 1, in top-level template code
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2418, in forgiving_float_filter
raise_no_default("float", value)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 1972, in raise_no_default
raise ValueError(
...<2 lines>...
)
ValueError: Template error: float got invalid input 'unavailable' when rendering template '{% if states('sensor.my_battery_ac_power') | float > 0 %}
{{ (states('sensor.my_battery_ac_power') | float) }}
{% else %}
0
{% endif %}' but no default was specified

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 761, in async_render_to_info
render_info._result = self.async_render( # noqa: SLF001
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
variables, strict=strict, log_fn=log_fn, **kwargs
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 646, in async_render
raise TemplateError(err) from err
homeassistant.exceptions.TemplateError: ValueError: Template error: float got invalid input 'unavailable' when rendering template '{% if states('sensor.my_battery_ac_power') | float > 0 %}
{{ (states('sensor.my_battery_ac_power') | float) }}
{% else %}
0
{% endif %}' but no default was specified
2025-05-30 09:08:05.438 ERROR (MainThread) [homeassistant.components.template.template_entity] TemplateError('ValueError: Template error: float got invalid input 'unavailable' when rendering template '{% if states('sensor.my_battery_ac_power') | float > 0 %}
{{ (states('sensor.my_battery_ac_power') | float) }}
{% else %}
0
{% endif %}' but no default was specified') while processing template 'Template<template=({% if states('sensor.my_battery_ac_power') | float > 0 %}
{{ (states('sensor.my_battery_ac_power') | float) }}
{% else %}
0
{% endif %}) renders=4>' for attribute '_attr_native_value' in entity 'sensor.my_battery_discharging_in_w'
2025-05-30 09:08:05.440 ERROR (MainThread) [homeassistant.helpers.event] Error while processing template: Template<template=({% set mode = states('sensor.my_battery_force_charge_discharge_mode') | int %} {% if mode == 0 %}
Stop
{% elif mode == 1 %}
Charge
{% elif mode == 2 %}
Discharge
{% else %}
Unknown
{% endif %}) renders=2>
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 644, in async_render
render_result = _render_with_context(self.template, compiled, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2934, in _render_with_context
return template.render(**kwargs)
~~~~~~~~~~~~~~~^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 1295, in render
self.environment.handle_exception()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 942, in handle_exception
raise rewrite_traceback_stack(source=source)
File "<template>", line 1, in top-level template code
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2434, in forgiving_int_filter
raise_no_default("int", value)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 1972, in raise_no_default
raise ValueError(
...<2 lines>...
)
ValueError: Template error: int got invalid input 'unavailable' when rendering template '{% set mode = states('sensor.my_battery_force_charge_discharge_mode') | int %} {% if mode == 0 %}
Stop
{% elif mode == 1 %}
Charge
{% elif mode == 2 %}
Discharge
{% else %}
Unknown
{% endif %}' but no default was specified

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 761, in async_render_to_info
render_info._result = self.async_render( # noqa: SLF001
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
variables, strict=strict, log_fn=log_fn, **kwargs
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 646, in async_render
raise TemplateError(err) from err
homeassistant.exceptions.TemplateError: ValueError: Template error: int got invalid input 'unavailable' when rendering template '{% set mode = states('sensor.my_battery_force_charge_discharge_mode') | int %} {% if mode == 0 %}
Stop
{% elif mode == 1 %}
Charge
{% elif mode == 2 %}
Discharge
{% else %}
Unknown
{% endif %}' but no default was specified
2025-05-30 09:08:05.450 ERROR (MainThread) [homeassistant.components.template.template_entity] TemplateError('ValueError: Template error: int got invalid input 'unavailable' when rendering template '{% set mode = states('sensor.my_battery_force_charge_discharge_mode') | int %} {% if mode == 0 %}
Stop
{% elif mode == 1 %}
Charge
{% elif mode == 2 %}
Discharge
{% else %}
Unknown
{% endif %}' but no default was specified') while processing template 'Template<template=({% set mode = states('sensor.my_battery_force_charge_discharge_mode') | int %} {% if mode == 0 %}
Stop
{% elif mode == 1 %}
Charge
{% elif mode == 2 %}
Discharge
{% else %}
Unknown
{% endif %}) renders=4>' for attribute '_attr_native_value' in entity 'sensor.my_battery_force_charge_discharge_mode_status'
2025-05-30 09:08:05.459 ERROR (MainThread) [homeassistant.helpers.event] Error while processing template: Template<template=({% set mode = states('sensor.my_battery_rs485_control_mode') | int %} {% if mode == 21930 %}
Enabled
{% elif mode == 21947 %}
Disabled
{% else %}
Unknown
{% endif %}) renders=2>
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 644, in async_render
render_result = _render_with_context(self.template, compiled, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2934, in _render_with_context
return template.render(**kwargs)
~~~~~~~~~~~~~~~^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 1295, in render
self.environment.handle_exception()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 942, in handle_exception
raise rewrite_traceback_stack(source=source)
File "<template>", line 1, in top-level template code
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2434, in forgiving_int_filter
raise_no_default("int", value)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 1972, in raise_no_default
raise ValueError(
...<2 lines>...
)
ValueError: Template error: int got invalid input 'unavailable' when rendering template '{% set mode = states('sensor.my_battery_rs485_control_mode') | int %} {% if mode == 21930 %}
Enabled
{% elif mode == 21947 %}
Disabled
{% else %}
Unknown
{% endif %}' but no default was specified

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 761, in async_render_to_info
render_info._result = self.async_render( # noqa: SLF001
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
variables, strict=strict, log_fn=log_fn, **kwargs
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 646, in async_render
raise TemplateError(err) from err
homeassistant.exceptions.TemplateError: ValueError: Template error: int got invalid input 'unavailable' when rendering template '{% set mode = states('sensor.my_battery_rs485_control_mode') | int %} {% if mode == 21930 %}
Enabled
{% elif mode == 21947 %}
Disabled
{% else %}
Unknown
{% endif %}' but no default was specified
2025-05-30 09:08:05.474 ERROR (MainThread) [homeassistant.components.template.template_entity] TemplateError('ValueError: Template error: int got invalid input 'unavailable' when rendering template '{% set mode = states('sensor.my_battery_rs485_control_mode') | int %} {% if mode == 21930 %}
Enabled
{% elif mode == 21947 %}
Disabled
{% else %}
Unknown
{% endif %}' but no default was specified') while processing template 'Template<template=({% set mode = states('sensor.my_battery_rs485_control_mode') | int %} {% if mode == 21930 %}
Enabled
{% elif mode == 21947 %}
Disabled
{% else %}
Unknown
{% endif %}) renders=4>' for attribute '_attr_native_value' in entity 'sensor.my_battery_rs485_control_mode_status'
2025-05-30 09:08:20.488 WARNING (MainThread) [homeassistant.core] Something is blocking Home Assistant from wrapping up the start up phase. We're going to continue anyway. Please report the following info at https://github.com/home-assistant/core/issues: template.switch, hassio.update, recorder, websocket_api, go2rtc, weather, met.weather, hassio.sensor, assist_pipeline, input_select, input_boolean, system_health, shelly.light, cloud.binary_sensor, met, input_datetime, climate, shelly.cover, mobile_app.sensor, api, mobile_app.binary_sensor, shelly.binary_sensor, intent, cloud, tag, schedule, ssdp, trace, button, camera, update, shelly.valve, mqtt, hacs.update, shelly.update, switch, script, google_translate.tts, bluetooth, system_log, shopping_list.todo, history, hardware, frontend, notify, dhcp, hassio, network, energy, analytics, cloud.tts, device_tracker, persistent_notification, input_text, hacs, device_automation, usb, logbook, forecast_solar.sensor, google_assistant, utility_meter.sensor, blueprint, onboarding, default_config, backup.sensor, homeassistant_alerts, shelly.climate, google_translate, shelly.text, light, number, cover, thread, shelly.select, my, ffmpeg, shelly.event, automation, file_upload, min_max, sensor, shelly.button, mobile_app, cloud.stt, stream, mqtt.sensor, binary_sensor, todo, diagnostics, energy.sensor, media_source, min_max.sensor, event, shelly.number, growatt_server.sensor, shelly.sensor, sun, image_upload, template, shelly.switch, shelly, input_button, search, alexa, repairs, text, auth, integration.sensor, utility_meter, growatt_server, valve, counter, homeassistant, zone, stt, wake_word, person, select, sun.sensor, mobile_app.notify, lovelace, timer, template.sensor, zeroconf, hassio.binary_sensor, scene, homeassistant.scene, shopping_list, hacs.switch, conversation, application_credentials, radio_browser, modbus.sensor, http, mobile_app.device_tracker, config, forecast_solar, modbus, influxdb, webhook, input_number, tts, backup, logger The system is waiting for tasks: {<Task pending name='call_later 0.1' coro=<BasePlatform._async_update_if_not_in_progress() running at /usr/src/homeassistant/homeassistant/components/modbus/entity.py:137> wait_for=<Future pending cb=[Task.task_wakeup()]> cb=[set.remove()]>, <Task pending name='call_later 0.1' coro=<BasePlatform._async_update_if_not_in_progress() running at /usr/src/homeassistant/homeassistant/components/modbus/entity.py:137> wait_for=<Future pending cb=[Task.task_wakeup()]> cb=[set.remove()]>, <Task pending name='call_later 0.1' coro=<BasePlatform._async_update_if_not_in_progress() running at /usr/src/homeassistant/homeassistant/components/modbus/entity.py:137> wait_for=<Future pending cb=[Task.task_wakeup()]> cb=[set.remove()]>, <Task pending name='call_later 0.1' coro=<BasePlatform._async_update_if_not_in_progress() running at /usr/src/homeassistant/homeassistant/components/modbus/entity.py:137> wait_for=<Future pending cb=[Task.task_wakeup()]> cb=[set.remove()]>}
2025-05-30 09:08:21.116 ERROR (MainThread) [homeassistant.components.automation.my_battery_sync_modbus_and_input_select] My Battery Sync Modbus and Input Select: Choose at step 1: choice 1: Error executing script. Error for call_service at pos 1: Error rendering data template: ValueError: Template error: int got invalid input 'unavailable' when rendering template '{% if states('sensor.my_battery_user_work_mode') | int == 0 %}
Manual
{% elif states('sensor.my_battery_user_work_mode') | int == 1 %}
Anti-Feed
{% elif states('sensor.my_battery_user_work_mode') | int == 2 %}
Trade Mode
{% else %}
Manual
{% endif %}' but no default was specified
2025-05-30 09:08:21.118 ERROR (MainThread) [homeassistant.components.automation.my_battery_sync_modbus_and_input_select] My Battery Sync Modbus and Input Select: Error executing script. Error for choose at pos 1: Error rendering data template: ValueError: Template error: int got invalid input 'unavailable' when rendering template '{% if states('sensor.my_battery_user_work_mode') | int == 0 %}
Manual
{% elif states('sensor.my_battery_user_work_mode') | int == 1 %}
Anti-Feed
{% elif states('sensor.my_battery_user_work_mode') | int == 2 %}
Trade Mode
{% else %}
Manual
{% endif %}' but no default was specified
2025-05-30 09:08:21.119 ERROR (MainThread) [homeassistant.components.automation.my_battery_sync_modbus_and_input_select] Error while executing automation automation.my_battery_sync_modbus_and_input_select: Error rendering data template: ValueError: Template error: int got invalid input 'unavailable' when rendering template '{% if states('sensor.my_battery_user_work_mode') | int == 0 %}
Manual
{% elif states('sensor.my_battery_user_work_mode') | int == 1 %}
Anti-Feed
{% elif states('sensor.my_battery_user_work_mode') | int == 2 %}
Trade Mode
{% else %}
Manual
{% endif %}' but no default was specified
2025-05-30 09:08:41.135 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:09:01.183 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:09:21.230 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:09:41.275 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:10:01.319 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:10:21.363 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:10:41.408 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:11:21.611 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:11:41.657 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:12:01.701 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:12:21.745 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:12:41.790 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:13:01.834 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:13:21.879 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-05-30 09:14:02.078 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
[Afbeelding]

[Afbeelding]

[Afbeelding]

[Afbeelding]

[Afbeelding]

[Afbeelding]
It looks like you have a cabeling problem, the Elwin does receive data from home assistant, but the MT does not process this data and sends no resulting answer.
The Send Bytes / Send Frames are empty so the problem lies between the Elwin and the MT.
Option 1: Check cabeling again, with the multimeter "beep" function.
Option 2: Power the Elwin with a 5V USB Power supply or at least measure that the voltage is 5 V, in my situation 4.5V did also work.
Afbeeldingslocatie: https://tweakers.net/i/NXxycYv_HL7lWWddAT8m4IIIOzg=/800x/filters:strip_icc():strip_exif()/f/image/wkouwhepkINAcqXA3VTULNAp.jpg?f=fotoalbum_large

MTVenus V151 CT003 V114 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt


Acties:
  • 0 Henk 'm!

  • RobinGla
  • Registratie: Mei 2025
  • Laatst online: 07-06 17:07
superduper1969 schreef op vrijdag 30 mei 2025 @ 21:20:
[...]

It looks like you have a cabeling problem, the Elwin does receive data from home assistant, but the MT does not process this data and sends no resulting answer.
The Send Bytes / Send Frames are empty so the problem lies between the Elwin and the MT.
Option 1: Check cabeling again, with the multimeter "beep" function.
Option 2: Power the Elwin with a 5V USB Power supply or at least measure that the voltage is 5 V, in my situation 4.5V did also work.
[Afbeelding]
I checkt cabeling with my multimeter and power the elfin with an external Supply. Nothung changed. Cabeling is okay and with the external power supply nothing changed. Maybe the Elfin has a defect?

Acties:
  • 0 Henk 'm!

  • jbeMR
  • Registratie: April 2025
  • Laatst online: 04-06 15:29
@robingla You can check the green and yellow LEDs at the Elfin. I had a similar issue with another application and searched forever until I found out it was the Hardware. Then I replaced the part and it worked - for 3 month and the new was defect as well. That is why decided to use the Lilygo for this project...

[ Voor 95% gewijzigd door jbeMR op 31-05-2025 08:12 ]

2 x Venus E (V1,V2), V151, B2500-meter, Lilygo Modbus in HA integration


Acties:
  • +1 Henk 'm!

  • dannyro
  • Registratie: April 2025
  • Laatst online: 08-06 15:28
Enable cell data stond niet aangevinkt in hm2mqtt. Het is terug in orde. :)

Acties:
  • 0 Henk 'm!

  • mgiebels
  • Registratie: Maart 2015
  • Laatst online: 08-06 09:48
Moet ik als ik de lilygo heb ook dat hm2mqtt aan zetten ?

Acties:
  • +1 Henk 'm!

  • pascallj
  • Registratie: Mei 2011
  • Laatst online: 23:09
mgiebels schreef op zaterdag 31 mei 2025 @ 10:36:
Moet ik als ik de lilygo heb ook dat hm2mqtt aan zetten ?
Nee hm2mqtt en hame-relay hebben niks met de Modbus aansturing te maken en is alleen voor sturing via MQTT Cloud.

Acties:
  • +1 Henk 'm!

  • mgiebels
  • Registratie: Maart 2015
  • Laatst online: 08-06 09:48
pascallj schreef op zaterdag 31 mei 2025 @ 10:38:
[...]


Nee hm2mqtt en hame-relay hebben niks met de Modbus aansturing te maken en is alleen voor sturing via MQTT Cloud.
Thanks ik heb ze uitgezet ook die b2500 meter lijkt me dan overbodig

Acties:
  • 0 Henk 'm!

  • Chris96
  • Registratie: Februari 2013
  • Laatst online: 00:21
Zodra ik onderstaande configuratie aanpas van onderstaande code naar de code op github met aanpassing van ota en api gaat het bordje in safe mode en komt niet meer tot een webpagina en is alleen nog via usb te bereiken. Iemand suggesties?
Het bordje is nog niet aangesloten aan de marstek maar dit zou niet uit moeten maken neem ik aan?

code:
1
2
3
4
5
6
7
[17:44:52][C][safe_mode:079]: There have been 5 suspected unsuccessful boot attempts
[17:44:52][D][esp32.preferences:114]: Saving 1 preferences to flash...
[17:44:52]\x98n[D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[17:44:52][I][app:029]: Running through setup()...
[17:44:52]\033rt.arduino_esp32:077]: Setting up UART...
[17:44:52][D][esp32:117]: rtc: 0
[17:44:52][D][esp32:117]: rtc: 0



code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
esphome:
  name: lilygo-rs485
  friendly_name: LILYGO RS485
  min_version: 2024.11.0
  name_add_mac_suffix: false

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:
  # level: VERY_VERBOSE
  
# Enable Home Assistant API
api:
  encryption:
    key: "xxx"

ota:
  - platform: esphome
    password: "xxx"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Lilygo-Rs485 Fallback Hotspot"
    password: "xxxx"

web_server:
  port: 80

[ Voor 108% gewijzigd door Chris96 op 31-05-2025 17:52 ]


Acties:
  • 0 Henk 'm!

  • RobinGla
  • Registratie: Mei 2025
  • Laatst online: 07-06 17:07
superduper1969 schreef op vrijdag 30 mei 2025 @ 21:20:
[...]

It looks like you have a cabeling problem, the Elwin does receive data from home assistant, but the MT does not process this data and sends no resulting answer.
The Send Bytes / Send Frames are empty so the problem lies between the Elwin and the MT.
Option 1: Check cabeling again, with the multimeter "beep" function.
Option 2: Power the Elwin with a 5V USB Power supply or at least measure that the voltage is 5 V, in my situation 4.5V did also work.
[Afbeelding]
I checked the cabeling again. And i try it with a new Elfin. Same Result. I really don't know where my mistake is. My Last Idea:
- how can i check the RS 485 Socket on my MT. Maybe the pin assignment is different?

Acties:
  • 0 Henk 'm!

  • SatScan
  • Registratie: Februari 2024
  • Laatst online: 23:30
*knip*

[ Voor 98% gewijzigd door SatScan op 01-06-2025 19:28 ]

.NL | BYD Atto3 | PulsarPlus EV +Balancer | WP7.7K Z | 2 MT Venus 5.12KWh V151 - CT003 V115 | 2 Mitsubitshi single airco's | EPC 0.0 | HA DS224+


Acties:
  • 0 Henk 'm!

  • SatScan
  • Registratie: Februari 2024
  • Laatst online: 23:30
RobinGla schreef op vrijdag 30 mei 2025 @ 22:48:
[...]

I checkt cabeling with my multimeter and power the elfin with an external Supply. Nothung changed. Cabeling is okay and with the external power supply nothing changed. Maybe the Elfin has a defect?
Try a other power supply... sometime...

.NL | BYD Atto3 | PulsarPlus EV +Balancer | WP7.7K Z | 2 MT Venus 5.12KWh V151 - CT003 V115 | 2 Mitsubitshi single airco's | EPC 0.0 | HA DS224+


Acties:
  • 0 Henk 'm!

  • JanAllElectric
  • Registratie: December 2017
  • Laatst online: 08-06 12:32
Hometek schreef op vrijdag 30 mei 2025 @ 19:24:
Mijn Marstek aansturing

Zoals eerder aangegeven was ik op zoek naar mogelijkheden om mijn batterijen via Home Assistant aan te sturen.

De beoogde strategie is natuurlijk een persoonlijke keuze, en voor iedereen anders. Maar de aanpak kan wellicht anderen inspireren.

Na enig geëxperimenteer in HA heb ik besloten om met Node-RED aan de slag te gaan. De UI met grafische flows sluit goed aan bij mijn manier van denken en mijn beperkte ervaring met programmeren.

Ik heb wat voorbeelden gezien van volledige NOM regelingen in HA en heb ook naar complexere systemen zoals EMHASS gekeken.
Maar uiteindelijk heb ik voor een andere aanpak gekozen:
  • NOM sturing door de Marstek EMS zelf laten uitvoeren (regelingen via HA lijken niet beter of sneller te werken?)
  • De B2500 meter (Shelly emulator) gebruiken voor fine-tuning van de regeling, bv een offset om iets meer boven of onder nul uit te komen
  • Automatiseringen in HA voor de volgende taken:
    • Omschakelen naar andere batterij bij vol/leeg
    • Regelmatig tot 100% opladen voor het balancen van de cellen
    • Op basis van verwachte opwek volgende dag zonnepanelen aan of uit schakelen
    • Op basis van verwachte opwek volgende dag tijdens goedkoopste uren opladen
    • Aangepaste strategie voor off-grid
Deze aanpak kan redelijk modulair met losse flows uitgevoerd worden. Alle processen die ik zelf moet bouwen zijn niet kritisch qua responstijd.
Door de bestaande auto en AI regeling in de batterijen te gebruiken wordt de regeltaak in HA een stuk eenvoudiger. Modbus wordt hoofdzakelijk gebruikt om te monitoren en slechts af en toe om iets te veranderen. Er hoeven alleen strategische keuzes gemaakt te worden; welke batterij wordt in welke modus gezet en hoeveel zonnepanelen moet gebruikt worden.

Hiervoor gebruik ik een tabel.

[Afbeelding]

Elke avond om 22:00 haalt HA van Solcast de voorspelde opwek voor de volgende dag op en de actuele SOC, en aan hand van de tabel wordt de batterij modus aangepast en de zonnepanelen aan of uit geschakeld.

Ik gebruik een HW P1 meter om het officieel gemeten verbruik te registreren. De Marstek batterijen zijn gekoppeld aan de geëmuleerde Shelly, en de B2500 meter gebruikt data van een Shelly Pro EM-50.
Deze ‘omweg’ via de B2500 meter in HA heb ik om verschillende redenen gekozen:
  • Ook off-grid actuele data over verbruik
  • De mogelijkheid om ook off-grid met twee batterijen te werken (zie ook deze post)
  • De Shelly Pro EM-50 heeft bij lage vermogens een offset van ca. -20W en vrij veel ruis, in HA kan ik de offset compenseren en de ruis een beetje dempen
De zonnepanelen worden voorlopig via slimme stekkers geschakeld. Dat is een van de redenen om met een planning voor een hele dag te werken, dan worden de panelen alleen ‘s avonds laat geschakeld als er geen opwek is.
Het zijn Hoymiles micro’s, eventueel ga ik later nog eens bekijken of ik ze via openDTU op een nette manier kan sturen.

Een eerste versie, nog zonder opladen bij laagste prijs, draait sinds enkele dagen en de verschillende taken worden goed uitgevoerd. Het lastigste zijn de ‘vol’ en ‘leeg’ momenten, hier is wat hysteresis nodig om eindeloos wisselen van batterij te voorkomen.
Of de strategie goed werkt kan pas over een langere periode bepaald worden, en waarschijnlijk zullen mijn inzichten ook veranderen met de tijd…
Ik lees jou ideeën over het gebruik van de Marsteks. Ik stuur alles zelf via modbus aan. Dus ik kan geen oordeel geven over NOM via EMS Marsteks versus mijn eigen NOM via Modbus (3 accu's)

Ik snap alleen niet wat je met 'off grid' bedoelt. Je gaat toch niet iedere dag echt off grid? Dat is toch gewoon NOM.

Verder snap ik niet waarom je zonnepanelen uit zou zetten. Overtollige PV levert toch (behalve bij echt negatieve tarieven) altijd wel iets op.

Juist met nod-red/javascript is het eenvoudig om te bepalen wanneer de accu's echt vol zitten (het moment om van accu te wisselen):

planLasttime.mode == 'charge' && planLasttime.powerPlan[i].power != 0 && Marstek[i].inverter_state == "Standby"

Panasonic TCAP 12kW J-versie + Heishamon/HA/Node-Red/Grafana/InfluxDB; Atlantic v3 200L; 5* jaga strada 21 & zelfbouw DBE; 3*2400Wp (O,Z,W); KIA EV6 77kWh RWD + EVCC/cFos Wallbox solar; 3* Marstek 5kWh (v151)+CT003 (v114)+ modbus/lilygo/node-red/HA


Acties:
  • 0 Henk 'm!

  • superduper1969
  • Registratie: December 2005
  • Laatst online: 19:49
RobinGla schreef op zondag 1 juni 2025 @ 15:34:
[...]

I checked the cabeling again. And i try it with a new Elfin. Same Result. I really don't know where my mistake is. My Last Idea:
- how can i check the RS 485 Socket on my MT. Maybe the pin assignment is different?
https://youtu.be/YK8zl4d-BHM?si=iqsmpo1HY2Ya5EKH
Hope this helps.

MTVenus V151 CT003 V114 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt


Acties:
  • +1 Henk 'm!

  • Hometek
  • Registratie: Februari 2025
  • Laatst online: 23:58
JanAllElectric schreef op zondag 1 juni 2025 @ 21:27:
[...]


Ik lees jou ideeën over het gebruik van de Marsteks. Ik stuur alles zelf via modbus aan. Dus ik kan geen oordeel geven over NOM via EMS Marsteks versus mijn eigen NOM via Modbus (3 accu's)

Ik snap alleen niet wat je met 'off grid' bedoelt. Je gaat toch niet iedere dag echt off grid? Dat is toch gewoon NOM.

Verder snap ik niet waarom je zonnepanelen uit zou zetten. Overtollige PV levert toch (behalve bij echt negatieve tarieven) altijd wel iets op.

Juist met nod-red/javascript is het eenvoudig om te bepalen wanneer de accu's echt vol zitten (het moment om van accu te wisselen):

planLasttime.mode == 'charge' && planLasttime.powerPlan[i].power != 0 && Marstek[i].inverter_state == "Standby"
Off-grid:
Dit is een noodstroom regeling, alleen bedoeld voor het geval de stroom langdurig uit valt. Ik kan mijn huis omschakelen van net naar backup. Ik heb een binary sensor gemaakt die dit kan herkennen. In de off-grid situatie worden andere automatiseringen gebruikt.

Uitschakelen panelen:
Deze strategie is vanuit maatschappelijk standpunt gekozen en niet uit kosten overwegingen. Het stroomnet is overbelast, minder opwek helpt daar net zo goed als minder verbruik.

Omschakelen batterijen:
Het omschakelen bij max en min is inderdaad eenvoudig. Waar ik tegen aan liep was heen en weer schakelen bij specifieke situaties zoals; beide batterijen 'leeg', zon komt door wolken, batterij 1 gaat laden, zon achter wolken, batterij 1 raakt leeg, wissel naar batterij 2, zon kom door wolken, batterij 2 gaat laden, zon achter wolken, batterij 2 raakt leeg, wissel naar batterij 1, etc.
Ik ben aan het experimenteren zodat wisselen alleen onder bepaalde condities mogelijk is. Dit levert echter soms dead-lock situaties op, daar moet ik nog wat dieper over nadenken.

2x Venus E (Gen1) V151, Shelly Pro EM-50, Lilygo+HA


Acties:
  • 0 Henk 'm!

  • Chris96
  • Registratie: Februari 2013
  • Laatst online: 00:21
Dit weekend na veel trail and error tot de conclusie gekomen dat mijn lilygo van aliexpress niet goed is of defect geraakt door foutief aansluiten.

Op beide zwarte draden vind ik 5V zoals aangegeven in het topic. Echter meet ik tussen geel en rood ook 5V. Dit zouden A en B moeten zijn. Kan iemand dit bevestigen? Inmiddels een nieuw printje besteld om het nogmaals te proberen.

Acties:
  • 0 Henk 'm!

  • Broodro0ster
  • Registratie: September 2014
  • Laatst online: 00:56
Hometek schreef op zondag 1 juni 2025 @ 22:32:
[...]

Off-grid:
Dit is een noodstroom regeling, alleen bedoeld voor het geval de stroom langdurig uit valt. Ik kan mijn huis omschakelen van net naar backup. Ik heb een binary sensor gemaakt die dit kan herkennen. In de off-grid situatie worden andere automatiseringen gebruikt.

Uitschakelen panelen:
Deze strategie is vanuit maatschappelijk standpunt gekozen en niet uit kosten overwegingen. Het stroomnet is overbelast, minder opwek helpt daar net zo goed als minder verbruik.

Omschakelen batterijen:
Het omschakelen bij max en min is inderdaad eenvoudig. Waar ik tegen aan liep was heen en weer schakelen bij specifieke situaties zoals; beide batterijen 'leeg', zon komt door wolken, batterij 1 gaat laden, zon achter wolken, batterij 1 raakt leeg, wissel naar batterij 2, zon kom door wolken, batterij 2 gaat laden, zon achter wolken, batterij 2 raakt leeg, wissel naar batterij 1, etc.
Ik ben aan het experimenteren zodat wisselen alleen onder bepaalde condities mogelijk is. Dit levert echter soms dead-lock situaties op, daar moet ik nog wat dieper over nadenken.
Kan jouw omvormer niet curtailen? Want dan ben je wel nog zelfvoorzienend bij negatieve prijzen zonder de batterij te gaan verbruiken en kan de PV op de avond piek injecteren ipv batterijen terug te laden.

Voor mij Huawei omvormer heb ik zelf een automatisatie gemaakt die elke 10 seconden het maximaal omvormer vermogen doorstuurt om mijn output op -100W te houden. -100W om er voor te zorgen dat alle apparaten en automatisaties op injectie stroom blijven werken.

30x Jinko JKM380M-6RL3 (11.4kWp) 12x oost 90° - 18x west 270°, 45° incl. | Marstek Venus 5.12kWh | Vaillant Arotherm 75/5 | Zehnder ComfoAir Q450 | Tesla Model 3 RWD 2023


Acties:
  • +1 Henk 'm!

  • Hometek
  • Registratie: Februari 2025
  • Laatst online: 23:58
Broodro0ster schreef op zondag 1 juni 2025 @ 23:36:
[...]
Kan jouw omvormer niet curtailen? Want dan ben je wel nog zelfvoorzienend bij negatieve prijzen zonder de batterij te gaan verbruiken en kan de PV op de avond piek injecteren ipv batterijen terug te laden.

Voor mij Huawei omvormer heb ik zelf een automatisatie gemaakt die elke 10 seconden het maximaal omvormer vermogen doorstuurt om mijn output op -100W te houden. -100W om er voor te zorgen dat alle apparaten en automatisaties op injectie stroom blijven werken.
Mijn panelen hebben Hoymiles micro omvormers, op dit moment kan ik die niet aansturen. Via openDTU kan ik die eventueel wel aansturen, voor zover ik weet is dat echter een relatief trage regeling.
OpenDTU staat op mijn lijst voor toekomstige optimalisaties.

2x Venus E (Gen1) V151, Shelly Pro EM-50, Lilygo+HA


Acties:
  • +2 Henk 'm!

  • superduper1969
  • Registratie: December 2005
  • Laatst online: 19:49
Startpost bijgewerkt:
2-6-2025 evcc integratie https://docs.evcc.io/docs...tek-venus-battery-storage
Met dank aan @jbeMR

MTVenus V151 CT003 V114 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt


Acties:
  • 0 Henk 'm!

  • superduper1969
  • Registratie: December 2005
  • Laatst online: 19:49
Chris96 schreef op zondag 1 juni 2025 @ 23:18:
Dit weekend na veel trail and error tot de conclusie gekomen dat mijn lilygo van aliexpress niet goed is of defect geraakt door foutief aansluiten.

Op beide zwarte draden vind ik 5V zoals aangegeven in het topic. Echter meet ik tussen geel en rood ook 5V. Dit zouden A en B moeten zijn. Kan iemand dit bevestigen? Inmiddels een nieuw printje besteld om het nogmaals te proberen.
Geen idee maar @RobinGla heeft ook een probleem met een Elfin, het zou kunnen dat de pinout inderdaad niet gelijk is en dat er bij enkele batterijen iets door de war is.
Wie weet kun je hier wat mee: https://youtu.be/YK8zl4d-BHM?si=iqsmpo1HY2Ya5EKH

MTVenus V151 CT003 V114 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt


Acties:
  • +3 Henk 'm!

  • JanAllElectric
  • Registratie: December 2017
  • Laatst online: 08-06 12:32
Hometek schreef op zondag 1 juni 2025 @ 22:32:
[...]

Off-grid:
Dit is een noodstroom regeling, alleen bedoeld voor het geval de stroom langdurig uit valt. Ik kan mijn huis omschakelen van net naar backup. Ik heb een binary sensor gemaakt die dit kan herkennen. In de off-grid situatie worden andere automatiseringen gebruikt.

Uitschakelen panelen:
Deze strategie is vanuit maatschappelijk standpunt gekozen en niet uit kosten overwegingen. Het stroomnet is overbelast, minder opwek helpt daar net zo goed als minder verbruik.

Omschakelen batterijen:
Het omschakelen bij max en min is inderdaad eenvoudig. Waar ik tegen aan liep was heen en weer schakelen bij specifieke situaties zoals; beide batterijen 'leeg', zon komt door wolken, batterij 1 gaat laden, zon achter wolken, batterij 1 raakt leeg, wissel naar batterij 2, zon kom door wolken, batterij 2 gaat laden, zon achter wolken, batterij 2 raakt leeg, wissel naar batterij 1, etc.
Ik ben aan het experimenteren zodat wisselen alleen onder bepaalde condities mogelijk is. Dit levert echter soms dead-lock situaties op, daar moet ik nog wat dieper over nadenken.
Dat laatste probleem heb ik opgelost door pas (of al) te wisselen als verschil tussen beide batterijen bv 5% is.

Dus in jouw voorbeeld. Beide batterijen leeg. Dan wijs ik bv 1 aan als primair. Die mag dan zijn gang gaan totdat deze 5% boven batterij 2 is. Dan wordt batterij 2 primair. etc.

Ik doe dit steeds wisselen voor het hele traject laden (12% -> 100%) en ontladen (100% -> 12%).

[ Voor 8% gewijzigd door JanAllElectric op 02-06-2025 12:31 ]

Panasonic TCAP 12kW J-versie + Heishamon/HA/Node-Red/Grafana/InfluxDB; Atlantic v3 200L; 5* jaga strada 21 & zelfbouw DBE; 3*2400Wp (O,Z,W); KIA EV6 77kWh RWD + EVCC/cFos Wallbox solar; 3* Marstek 5kWh (v151)+CT003 (v114)+ modbus/lilygo/node-red/HA


Acties:
  • +1 Henk 'm!

  • Hometek
  • Registratie: Februari 2025
  • Laatst online: 23:58
JanAllElectric schreef op maandag 2 juni 2025 @ 12:23:
[...]
Dat laatste probleem heb ik opgelost door pas (of al) te wisselen als verschil tussen beide batterijen bv 5% is.

Dus in jouw voorbeeld. Beide batterijen leeg. Dan wijs ik bv 1 aan als primair. Die mag dan zijn gang gaan totdat deze 5% boven batterij 2 is. Dan wordt batterij 2 primair. etc.

Ik doe dit steeds wisselen voor het hele traject laden (12% -> 100%) en ontladen (100% -> 12%).
Interessante manier van last verdelen, daar had ik nog niet aan gedacht.
Bedankt voor de tip, ik ga eens kijken in welke vorm ik dat principe hier het beste kan toepassen.
Stappen van 5% lijken mij wat klein, dat zijn ca, 35 wisselingen om twee batterijen voll te laden. Op een zonnige dag is in mijn systeem ca. elke 10 min. een wisseling.

2x Venus E (Gen1) V151, Shelly Pro EM-50, Lilygo+HA


Acties:
  • 0 Henk 'm!

  • RobinGla
  • Registratie: Mei 2025
  • Laatst online: 07-06 17:07
I checked the Volatges between + and - , A and Data Ground and B and Data Ground. Get some crazy Voltages:

+ and - : 5,04 V. Fine
A and Ground Data: 4,4V (normal 1,5-1,75V)
B and Ground Data: 0,7V (normal 3,1-3,5V)

I checked all Voltages between all 5 cables. No matching voltage measured. I think my RS485 isn activated or defect....

Acties:
  • 0 Henk 'm!

  • pascallj
  • Registratie: Mei 2011
  • Laatst online: 23:09
RobinGla schreef op maandag 2 juni 2025 @ 19:40:
[...]

I checked the Volatges between + and - , A and Data Ground and B and Data Ground. Get some crazy Voltages:

+ and - : 5,04 V. Fine
A and Ground Data: 4,4V (normal 1,5-1,75V)
B and Ground Data: 0,7V (normal 3,1-3,5V)

I checked all Voltages between all 5 cables. No matching voltage measured. I think my RS485 isn activated or defect....
That seems not that weird to me. There is no 'normal' between one the signal lines and ground. As long as there is a difference on the lines and the common mode is between -7 V and 12 V, it is a valid RS485 signal.

I have 4.8V difference between the pairs, also 4.8V between one signal line and data GND and 0.1 V between the other signal line and data GND.

Acties:
  • 0 Henk 'm!

  • RobinGla
  • Registratie: Mei 2025
  • Laatst online: 07-06 17:07
pascallj schreef op maandag 2 juni 2025 @ 19:55:
[...]


That seems not that weird to me. There is no 'normal' between one the signal lines and ground. As long as there is a difference on the lines and the common mode is between -7 V and 12 V, it is a valid RS485 signal.

I have 4.8V difference between the pairs, also 4.8V between one signal line and data GND and 0.1 V between the other signal line and data GND.
Hmm okay. I followed the instructions in the video.
Pagina: 1 ... 10 11 Laatste