Vraag


Acties:
  • 0 Henk 'm!

  • BCM
  • Registratie: November 2002
  • Laatst online: 08:36
Ik krijg op geen enkele mogelijkheid de modbus (485) communicatie werkend bij mijn 2 growatt omvormers.

Ik heb een MIN 3000 en een MIC 3300 hangen en beide zouden een 485 modbus communicatie moeten hebben.

Ik heb als interface de EspHome met een ttl-485 gebruikt. Ik zie de TX led knipperen en ik zie ook in de log dat er wat wordt verstuurd maar er komt een time-out omdat de omvormer niet antwoord.

Ik heb een waveshare eth-2-485 gebruikt maar ondanks dat ik de parameters goed heb staan, ook daar geen antwoord.

Ik heb een 120Ohm termination weerstand gebruikt maar ook dan geen antwoord.

Ook heb ik de shinelink ethernet communicatie module eruit getrokken (misschien is het of het een of het ander), omrover herstart maar nog steeds geen communicatie.


Nu lijkt het of de omvormers gewoon NIET antwoorden, om wat voor manier ook.

Ik lees op verschillende manieren dat er communicatie over de MODBUS wordt opgezet met dit type omvormers maar die van mij vertikken het gewoon.

Ik heb op tal van manieren gegoogled maar nergens lees ik een methodiek om de modbus communicatie aan te zetten.

Weet iemand de oplossing?

(Als ik kan communiceren over modbus, kan ik de omvormer curtailen en mn installatie uitbreiden zonder mijn hoofdaansluiting op te blazen!)

Cedo Nulli

Beste antwoord (via BCM op 30-01-2023 14:38)


  • DaWizza
  • Registratie: Augustus 2001
  • Niet online
Toch nog een update nadat alle hardware binnen is gekomen:
ik heb de boel aangesloten zoals hier omschreven staat:
https://community.home-as...att-shinewifi-s/369171/43

nodig:
-485 naar ttl
-D1 mini
-een paar dupont kabels (of zelf iets strippen en solderen)
-een USB stekker zoals beschreven of een stopcontact+adapter met microUSB kabel
-Home Assistant met ESPHome

Ik heb de code in de link gekopieerd, een verificatie in ESPHome gedraait en eruit gehaald wat niet correct was, daarna draaide het als een zonnetje.
Het is de goedkoopste oplossing die ik gezien heb die je helemaal van de cloud afhaalt.

SUZ-SWM80VA & ERSD-VM2D, 200L SWW, 5330Wp O 45°, 2870Wp W 45°, 820Wp Z 10°, Fresh-r on the wall compac WTW

Alle reacties


Acties:
  • 0 Henk 'm!

  • iCrOn
  • Registratie: April 2002
  • Laatst online: 13:58
Misschien kan je hier wat info uithalen. Een project voor Growatt over mqtt. Staat ook wat uitleg over welke pinnen je moet gebruiken van de connector.

Wat info uit de settings.h:
MODBUS_RATE 9600
SERIAL_RATE 115200
SLAVE_ID 1

Acties:
  • 0 Henk 'm!

  • BCM
  • Registratie: November 2002
  • Laatst online: 08:36
iCrOn schreef op zondag 23 oktober 2022 @ 21:02:
Misschien kan je hier wat info uithalen. Een project voor Growatt over mqtt. Staat ook wat uitleg over welke pinnen je moet gebruiken van de connector.

Wat info uit de settings.h:
MODBUS_RATE 9600
SERIAL_RATE 115200
SLAVE_ID 1
Dank je wel, exact deze heb ik ook al geprobeerd. Zelfde ttl-2-485, zelfde code. Geen enkele reactie van mn omvormer. Ik begin langszaam het idee te krijgen dat de 485 gewoon uit staat en dat ik iets over het hoofd zie om het aan te zetten.

Cedo Nulli


Acties:
  • 0 Henk 'm!

  • The-Source
  • Registratie: Augustus 2001
  • Laatst online: 09:37
Als het goed is zal met multimeter tussen gnd - TX en gnd- RX ongeveer hetzelfde voltage moeten meten.
Klinkt namelijk bijna als een klassiek TX/RX omgedraaid situatie.

Taal fouten inbegrepen ;)
Mijn AI Art YouTube kanaal


Acties:
  • 0 Henk 'm!

  • hendrik12345678
  • Registratie: Oktober 2014
  • Laatst online: 23-09-2024
Deel je esphome config eens, het werkt wel, lees 3omvormers op die manier uit.
Zou eerst even de rx/tx eens omdraaien.
En idd alle andere communicatie eruit halen.

Acties:
  • 0 Henk 'm!

  • BCM
  • Registratie: November 2002
  • Laatst online: 08:36
De code die ik nu in ESPHOME heb staan:
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
uart:
  - id: mod_bus
    baud_rate: 9600
    tx_pin: GPIO1
    rx_pin: GPIO3

modbus:
  id: modbus1
  uart_id: mod_bus

modbus_controller:
  - id: growatt
# the Modbus device addr
    address: 0x1
    modbus_id: modbus1
    setup_priority: -10  


sensor:
  - platform: modbus_controller
    name: "${device_name} DcPower"
    address: 5
    register_type: "read"
    unit_of_measurement: W
    device_class: power
    icon: mdi:flash
    value_type: U_DWORD
    accuracy_decimals: 1
    filters:
    - multiply: 0.1


Ik heb tx/rx omgedraaid op de d1 mini, andere poorten gebruikt. A en B omgedraaid, wel of geen eindweerstand gebruikt.

Hoe zou ik hem moeten aarden? Is dit essentieel? Van ttl-2-485 print naar omvormer? De growatt stekker (pin 3 en 4) heeft namelijk geen aarde.

Ik kan vanavond wel even foto's maken, ben nu niet thuis.

[ Voor 3% gewijzigd door BCM op 24-10-2022 10:36 ]

Cedo Nulli


Acties:
  • 0 Henk 'm!

  • hendrik12345678
  • Registratie: Oktober 2014
  • Laatst online: 23-09-2024
Staat het onder uart wel goed?
Bij mij staat dat 2 spaties opzij, en geen streepje ervoor. En ik heb ze net anderom staan(rx/tx) maar dat zou niet uit moeten maken.
Adres van de omvormer staat ook goed?

Aarding heb ik niet aangesloten, lijkt mij ook niet nodig, maar kan afhankelijk zijn, van hoever de D1 van de omvormer afhangt, en hoeveel kabel er tussen zit, en waar die kabel langsloopt.

Weerstanden heb ik ook niet gebruikt. Je ttl naar rs485 converter kan ook kapot zijn, al paar keer gehad.

Acties:
  • 0 Henk 'm!

  • BCM
  • Registratie: November 2002
  • Laatst online: 08:36
Net aangepast:

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
uart:
  id: mod_bus
  baud_rate: 9600
  tx_pin: GPIO1
  rx_pin: GPIO3

modbus:
  id: modbus1
  uart_id: mod_bus

modbus_controller:
  id: growatt
# the Modbus device addr
  address: 0x1
  modbus_id: modbus1
  setup_priority: -10  


sensor:
  - platform: modbus_controller
    name: "${device_name} DcPower"
    address: 5
    register_type: "read"
    unit_of_measurement: W
    device_class: power
    icon: mdi:flash
    value_type: U_DWORD
    accuracy_decimals: 1
    filters:
    - multiply: 0.1


opnieuw geupload.

Log:
[14:07:08][D][modbus_controller:029]: Modbus command to device=1 register=0xC15 countdown=0 no response received - removed from send queue

Ik zal vanavond een nieuwe converter pakken en ertussen zetten. Ik ben bang dat het geen oplossing gaat zijn aangezien dit al de 3 methode is die ik probeer om 485 aan het werken te krijgen.

Cedo Nulli


Acties:
  • 0 Henk 'm!

  • hendrik12345678
  • Registratie: Oktober 2014
  • Laatst online: 23-09-2024
En draai nu eens rx/tx om

Acties:
  • 0 Henk 'm!

  • The-Source
  • Registratie: Augustus 2001
  • Laatst online: 09:37
En volgens mij moet je altijd een gezamelijke ground hebben. Bij gelijkstroom systemen waarbij wellicht verschillende voltages gebruikt worden mag/moet ;) de 0v / - / gnd (het is maar net hoe deze gekenmerkt wordt) bij elkaar. Dit kan maar is niet altijd hetzelfde als je randaarde.
Als de voeding (+/-) ook al uit je omvormer komt dan weet je al dat je gnd hetzelfde is ;)

[ Voor 13% gewijzigd door The-Source op 24-10-2022 15:09 ]

Taal fouten inbegrepen ;)
Mijn AI Art YouTube kanaal


Acties:
  • 0 Henk 'm!

  • jobr
  • Registratie: Januari 2009
  • Laatst online: 18-05 18:57
The-Source schreef op maandag 24 oktober 2022 @ 15:07:
En volgens mij moet je altijd een gezamelijke ground hebben.
Niet bij RS485. Je hebt een A en B aansluiting met een differential signaal.

Acties:
  • 0 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
Misschien kan je hier eens naar kijken
AUijtdehaag in "Mitsubishi Electric Ecodan Lucht/Water Warmtepompen"

Maak ook gebruik van een flow control pin.
Modbus printjes bij enri.nl
Past zowel een esp32 MH-ET live op als wemos d1 mini.
ESP32 kan wat meer code aan. (Gelinkte code is al teveel voor de wemos)
Gebruik ze voor mitsubishi procon en brink flair wtw

Ik heb ook een aantal slechte ttl max485 gehad

[ Voor 26% gewijzigd door AUijtdehaag op 24-10-2022 19:38 ]

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


Acties:
  • 0 Henk 'm!

  • DaWizza
  • Registratie: Augustus 2001
  • Niet online
@BCM Is het nog gelukt met uitlezen?

Ook ik wil de modbus vd omvormer aansluiten voor het lokaal uitlezen vd waardes.

Daarbij ben ik hierop uitgekomen:
https://community.home-as...att-shinewifi-s/369171/41

De uitleg is vrij duidelijk, de bestelling is gedaan voor de hardware.

SUZ-SWM80VA & ERSD-VM2D, 200L SWW, 5330Wp O 45°, 2870Wp W 45°, 820Wp Z 10°, Fresh-r on the wall compac WTW


Acties:
  • 0 Henk 'm!

  • klump4u
  • Registratie: Februari 2008
  • Niet online

klump4u

Gasloos in Zuid-Limburg

Ik lees de modbus uit met een raspberry pi.
https://gathering.tweaker...message/73688304#73688304

18950Wp🌞, Atlantic 270V3💧, Pana 5J🔥. Zendure 7,6🔋


Acties:
  • 0 Henk 'm!

  • BCM
  • Registratie: November 2002
  • Laatst online: 08:36
DaWizza schreef op vrijdag 9 december 2022 @ 18:54:
@BCM Is het nog gelukt met uitlezen?

Ook ik wil de modbus vd omvormer aansluiten voor het lokaal uitlezen vd waardes.

Daarbij ben ik hierop uitgekomen:
https://community.home-as...att-shinewifi-s/369171/41

De uitleg is vrij duidelijk, de bestelling is gedaan voor de hardware.
nope, maar door drukte (en frustratie) is het even stil komen te liggen.

Cedo Nulli


Acties:
  • 0 Henk 'm!

  • monkey69
  • Registratie: December 2012
  • Laatst online: 16-05 06:30
Hoi allemaal,

Ik heb zelf de esphome route geprobeerd maar heb deze niet aan de praat gekregen.

Ondertussen heb ik de Growatt2mqtt draaien. Deze werkte bij mij in een keer. De code is te vinden op GitHub (https://github.com/nygma2004/growatt2mqtt).

Bijkomend voordeel is dat je out off the box veel meer data krijgt. Natuurlijk moet je in home assistant wel de mqtt entiteiten configureren.
Ook staat er een pdf in de repository waarin de Modbus registers beschreven staan.

Succes!

Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • DaWizza
  • Registratie: Augustus 2001
  • Niet online
Toch nog een update nadat alle hardware binnen is gekomen:
ik heb de boel aangesloten zoals hier omschreven staat:
https://community.home-as...att-shinewifi-s/369171/43

nodig:
-485 naar ttl
-D1 mini
-een paar dupont kabels (of zelf iets strippen en solderen)
-een USB stekker zoals beschreven of een stopcontact+adapter met microUSB kabel
-Home Assistant met ESPHome

Ik heb de code in de link gekopieerd, een verificatie in ESPHome gedraait en eruit gehaald wat niet correct was, daarna draaide het als een zonnetje.
Het is de goedkoopste oplossing die ik gezien heb die je helemaal van de cloud afhaalt.

SUZ-SWM80VA & ERSD-VM2D, 200L SWW, 5330Wp O 45°, 2870Wp W 45°, 820Wp Z 10°, Fresh-r on the wall compac WTW


Acties:
  • 0 Henk 'm!

  • BCM
  • Registratie: November 2002
  • Laatst online: 08:36
DaWizza schreef op vrijdag 6 januari 2023 @ 13:02:
Toch nog een update nadat alle hardware binnen is gekomen:
ik heb de boel aangesloten zoals hier omschreven staat:
https://community.home-as...att-shinewifi-s/369171/43

nodig:
-485 naar ttl
-D1 mini
-een paar dupont kabels (of zelf iets strippen en solderen)
-een USB stekker zoals beschreven of een stopcontact+adapter met microUSB kabel
-Home Assistant met ESPHome

Ik heb de code in de link gekopieerd, een verificatie in ESPHome gedraait en eruit gehaald wat niet correct was, daarna draaide het als een zonnetje.
Het is de goedkoopste oplossing die ik gezien heb die je helemaal van de cloud afhaalt.
Ik ga het nog een keer proberen. Thnxs

Cedo Nulli


Acties:
  • +2 Henk 'm!

  • BCM
  • Registratie: November 2002
  • Laatst online: 08:36
DaWizza schreef op vrijdag 6 januari 2023 @ 13:02:
Toch nog een update nadat alle hardware binnen is gekomen:
ik heb de boel aangesloten zoals hier omschreven staat:
https://community.home-as...att-shinewifi-s/369171/43

nodig:
-485 naar ttl
-D1 mini
-een paar dupont kabels (of zelf iets strippen en solderen)
-een USB stekker zoals beschreven of een stopcontact+adapter met microUSB kabel
-Home Assistant met ESPHome

Ik heb de code in de link gekopieerd, een verificatie in ESPHome gedraait en eruit gehaald wat niet correct was, daarna draaide het als een zonnetje.
Het is de goedkoopste oplossing die ik gezien heb die je helemaal van de cloud afhaalt.
Joepie, Alles nieuw besteld, net geinstalleerd. Het werkt.

Volgende stap. Kijken of ik op een manier kan schrijven naar holding register 3 en dus mn inverter kan curtialen.

Cedo Nulli


Acties:
  • 0 Henk 'm!

  • sts
  • Registratie: Februari 2023
  • Laatst online: 10-02-2023

sts

werkt het zelfs met de shinelink ethernet-module aangesloten?

Acties:
  • +1 Henk 'm!

  • BCM
  • Registratie: November 2002
  • Laatst online: 08:36
sts schreef op donderdag 2 februari 2023 @ 21:53:
werkt het zelfs met de shinelink ethernet-module aangesloten?
Jazeker, de shinelink (ethernet) zit aangesloten en tegelijk werkt de modbus. (behalve schrijven naar ht holding register, maar dat is een volgende stap)

Cedo Nulli


Acties:
  • 0 Henk 'm!

  • rft80
  • Registratie: Januari 2022
  • Laatst online: 03-06 12:30
Interessant - ik ben ook van plan om een growatt omvormer aan te schaffen, een spa4000 3 fase 10kva- heeft iemand hier ervaring met het schrijven naar de registers om zo de batterij laad en ontlaad schema's aan te sturen? Kijk ook naar solar assistant om dit te doen maar met esp is natuurlijk nog mooier. Erg benieuwd naar de ervaringen!

Acties:
  • 0 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@rft80
Geen ervaring (want geen batterij systeem) maar via modbus communiceren is geen probleem
Zie bij behorende PDF voor de registers

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


Acties:
  • +1 Henk 'm!

  • BCM
  • Registratie: November 2002
  • Laatst online: 08:36
Ook schrijven naar registers is mij gelukt met Esphome:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
number:
  - platform: modbus_controller
    modbus_controller_id: growatt3000 
    id: pv_powerfactor3000
    name: "PV inverter Power factor Growatt 3000"
    address: 3
    register_type: holding
    value_type: U_WORD
    min_value: 0
    max_value: 100
    lambda: "return  x; "
    write_lambda: |-
      ESP_LOGD("main","Modbus Number incoming value = %f",x);
      uint16_t powerfactor = x ;
      esphome::modbus_controller::ModbusCommandItem set_payload_command = esphome::modbus_controller::ModbusCommandItem::create_write_single_command(growatt3000, 3, powerfactor);
      return x;


Dus ik verwacht dat je ook laden en ontladen kunt regelen.

[ Voor 4% gewijzigd door BCM op 04-02-2023 16:29 ]

Cedo Nulli


Acties:
  • 0 Henk 'm!

  • rft80
  • Registratie: Januari 2022
  • Laatst online: 03-06 12:30
Cool, eerst maar eens een electricien regelen die tijd heeft maar dit geeft de burger moed. Zal jullie op de hoogte houden.

Acties:
  • +1 Henk 'm!

  • sts
  • Registratie: Februari 2023
  • Laatst online: 10-02-2023

sts

In het geval is nuttig voor iedereen:
Ik kon Modbus-gegevens lezen van Growatt MIN-5000TL-X met behulp van de RS485 naar RJ45 Ethernet Converter Module
https://m.media-amazon.co...3nzVBC4BL._AC_SL1500_.jpg
met behulp van protocol Modbus TCP naar RTU
Ik deed dit vanuit Home Assistant Node-RED en schreef de gegevens vervolgens rechtstreeks naar de HA-sensor
heel makkelijk werkt prima

Acties:
  • 0 Henk 'm!

  • rft80
  • Registratie: Januari 2022
  • Laatst online: 03-06 12:30
Mijn Growatt omvormer (sph8000) in combinatie met 6 ark batterij modules draait. Inclusief esphome gedreven aansturing.

Tot zover het goede nieuws. De omvormer is inmiddels vervangen door een nieuw exemplaar - opstart voltages lagen te hoog vs. specs, er was sprake van een continue hoge piep en de batterij efficiëntie lag laag ( <80% roundtrip).

Dit lijkt nu verholpen, maar bij het uitlezen van de bms kom ik tot de conclusie dat de state of health na 36 cycles op 98% staat. De batterij capaciteit lijkt ook wat lager (van 10 naar 100 laadt hij ca. 14.8, ontladen ca 13.5 (dit was respectievelijk 15 en 13.8)

Benieuwd naar andere ervaringen en of tips

  • ShoarmaJunkie
  • Registratie: Januari 2007
  • Laatst online: 21-10-2023
BCM schreef op zaterdag 4 februari 2023 @ 16:26:
Ook schrijven naar registers is mij gelukt met Esphome:

code:
1
2
3
4
5
    write_lambda: |-
      ESP_LOGD("main","Modbus Number incoming value = %f",x);
      uint16_t powerfactor = x ;
      esphome::modbus_controller::ModbusCommandItem set_payload_command = esphome::modbus_controller::ModbusCommandItem::create_write_single_command(growatt3000, 3, powerfactor);
      return x;
Hoe krijg jij dit werkend? [write_lambda ] is an invalid option for [sensor.modbus_controller].
Oftewel, je gebruikt een optie die niet in combinatie met modbus controller zou kunnen.
Dus hoe kan het bij jou werken??

Acties:
  • +1 Henk 'm!

  • brxm
  • Registratie: Augustus 2006
  • Laatst online: 06-06 09:19
Ik heb ook deze code van @BCM gebruikt en heb de MODBUS interface van @AUijtdehaag en het werkt perfect.

Je kunt niet 'schrijven' naar een sensor, die kun je alleen uitlezen.

Je moet een 'number' configureren als je dit holding register wilt instellen ipv uitlezen.

Terug te vinden in de MODBUS CONTROLLER documentatie op de ESPHome wiki.

Acties:
  • 0 Henk 'm!

  • Tieuwe
  • Registratie: Oktober 2001
  • Laatst online: 09-01 10:18
DaWizza schreef op vrijdag 6 januari 2023 @ 13:02:
Toch nog een update nadat alle hardware binnen is gekomen:
ik heb de boel aangesloten zoals hier omschreven staat:
https://community.home-as...att-shinewifi-s/369171/43

nodig:
-485 naar ttl
-D1 mini
-een paar dupont kabels (of zelf iets strippen en solderen)
-een USB stekker zoals beschreven of een stopcontact+adapter met microUSB kabel
-Home Assistant met ESPHome

Ik heb de code in de link gekopieerd, een verificatie in ESPHome gedraait en eruit gehaald wat niet correct was, daarna draaide het als een zonnetje.
Het is de goedkoopste oplossing die ik gezien heb die je helemaal van de cloud afhaalt.
Nu de API van Growatt zo brak is en na de positieve reacties op Tweakers ben ik zelf ook aan de slag gegaan. Het lukt me helaas niet om de communicatie tot gang te krijgen :'( . Ik heb:

- ESP32 Dev4
- 485 naar TTL
- aangesloten volgens plaatje :
Afbeeldingslocatie: https://community-assets.home-assistant.io/original/4X/7/1/9/719274c49f6b5dbe8808f113012ded422e9aba20.png

Verschil is wel dat ik de voeding van de ESP32 via micro usb connector heb lopen en de TTL voeding via VCC pin, zonder de mantel van usb kabel te gebruiken als "ground"

Welke pins op de connector moet ik nou aansluiten als TX en RX? Of wat anders kan er nou nog misgaan?

Ik heb deze communicatie-connector:

Afbeeldingslocatie: https://tweakers.net/i/miucOPB597fkBAfUkVG_CiJPAg0=/232x232/filters:strip_icc():strip_exif()/f/image/cWtgNi7OV7k2I5NfwFta7gbK.jpg?f=fotoalbum_tileAfbeeldingslocatie: https://tweakers.net/i/9LPNOtAQk0iktDrmqj5gmV10bXY=/232x232/filters:strip_icc():strip_exif()/f/image/evZk5hJEH2yMWtDz4XdHlHkP.jpg?f=fotoalbum_tile



In ESPHome krijg ik continue de meldingen:
"no response received - removed from send queue"

Acties:
  • 0 Henk 'm!

  • klump4u
  • Registratie: Februari 2008
  • Niet online

klump4u

Gasloos in Zuid-Limburg

Tieuwe schreef op maandag 23 oktober 2023 @ 14:17:
[...]


Nu de API van Growatt zo brak is en na de positieve reacties op Tweakers ben ik zelf ook aan de slag gegaan. Het lukt me helaas niet om de communicatie tot gang te krijgen :'( . Ik heb:

- ESP32 Dev4
- 485 naar TTL
- aangesloten volgens plaatje :
[Afbeelding]

Verschil is wel dat ik de voeding van de ESP32 via micro usb connector heb lopen en de TTL voeding via VCC pin, zonder de mantel van usb kabel te gebruiken als "ground"

Welke pins op de connector moet ik nou aansluiten als TX en RX? Of wat anders kan er nou nog misgaan?

Ik heb deze communicatie-connector:

[Afbeelding][Afbeelding]



In ESPHome krijg ik continue de meldingen:
"no response received - removed from send queue"
A+ naar 3 en B +naar 4 OP jouw connector

18950Wp🌞, Atlantic 270V3💧, Pana 5J🔥. Zendure 7,6🔋


Acties:
  • 0 Henk 'm!

  • DaWizza
  • Registratie: Augustus 2001
  • Niet online
@Tieuwe Plaats anders ook een foto hoe je het daadwerkelijk aangesloten hebt.
Dan hebben we het complete plaatje.

Ik bedenk me net ook: die 485 naar ttl modules kunnen behoorlijk brak zijn. Een andere kan het misschien oplossen.

[ Voor 33% gewijzigd door DaWizza op 23-10-2023 15:01 ]

SUZ-SWM80VA & ERSD-VM2D, 200L SWW, 5330Wp O 45°, 2870Wp W 45°, 820Wp Z 10°, Fresh-r on the wall compac WTW


Acties:
  • 0 Henk 'm!

  • BCM
  • Registratie: November 2002
  • Laatst online: 08:36
[b]DaWizza in "Hoe modbus communicatie te starten op een growatt omvormer?"....

Ik bedenk me net ook: die 485 naar ttl modules kunnen behoorlijk brak zijn. Een andere kan het misschien oplossen.
Daar heb ik er ook een paar foute van gehad..(allemaal van Ali)

Cedo Nulli


Acties:
  • 0 Henk 'm!

  • Tieuwe
  • Registratie: Oktober 2001
  • Laatst online: 09-01 10:18
aj, daar komt de mijne ook vandaan. Welke is dan wel aan te raden?
Vreemde is namelijk wel dat de TX/RX lampjes allebei knipperen, dus mij leek de verbinding wel in orde.

De andere punten kan ik vanavond nog even controleren.

Acties:
  • 0 Henk 'm!

  • DaWizza
  • Registratie: Augustus 2001
  • Niet online
De mijne ook, quality control is ver te zoeken.

Bij mij deed de 3e het, gelukkig kosten ze niet veel.

SUZ-SWM80VA & ERSD-VM2D, 200L SWW, 5330Wp O 45°, 2870Wp W 45°, 820Wp Z 10°, Fresh-r on the wall compac WTW


Acties:
  • 0 Henk 'm!

  • Tieuwe
  • Registratie: Oktober 2001
  • Laatst online: 09-01 10:18
Dit is mijn situatie
Afbeeldingslocatie: https://tweakers.net/i/xeFigdVllHhqmyTMYV0YTPaLCls=/232x232/filters:strip_icc():strip_exif()/f/image/OdQbpSyBX3J9tvQ9I4tiKgaE.jpg?f=fotoalbum_tileAfbeeldingslocatie: https://tweakers.net/i/-s2hvInJ4zOzRKhIxQYqD02H3sM=/232x232/filters:strip_icc():strip_exif()/f/image/f6m9yncQn7bGToHhByLMIrRh.jpg?f=fotoalbum_tile


In Esphome staat
TX pin op GPIO1
RX pin op GPIO3
Baud rate op 9600

Edit: Heb inmiddels 5 nieuwe 485 - TTL bordjes besteld. Ik krijg de foutmeldingen gewoon niet weg (als de omvormer aanstaat natuurlijk)

[ Voor 6% gewijzigd door Tieuwe op 24-10-2023 07:40 ]


Acties:
  • 0 Henk 'm!

  • DaWizza
  • Registratie: Augustus 2001
  • Niet online
code:
1
2
3
4
5
uart:
  id: mod_bus
  tx_pin: 1
  rx_pin: 3
  baud_rate: 9600


Dit heb ik staan in esphome..

Ik zet m'n geld in op de nieuwe 485-ttl bordjes B)

SUZ-SWM80VA & ERSD-VM2D, 200L SWW, 5330Wp O 45°, 2870Wp W 45°, 820Wp Z 10°, Fresh-r on the wall compac WTW


Acties:
  • 0 Henk 'm!

  • JazekerXX
  • Registratie: November 2012
  • Laatst online: 31-05 15:02
BCM schreef op maandag 30 januari 2023 @ 14:40:
[...]


Joepie, Alles nieuw besteld, net geinstalleerd. Het werkt.
en verder niks anders gedaan?
zijn die RS485 modules zo slecht dan?..
ik krijg er ook geen reactie uit

Acties:
  • +1 Henk 'm!

  • BCM
  • Registratie: November 2002
  • Laatst online: 08:36
JazekerXX schreef op dinsdag 31 oktober 2023 @ 11:23:
[...]


en verder niks anders gedaan?
zijn die RS485 modules zo slecht dan?..
ik krijg er ook geen reactie uit
Ben bang van wel. Ik heb echt heel veel lopen zoeken, alles opnieuw aangesloten etc etc. Toen alle HW opnieuw besteld, aangesloten en ineens... Deed hij het....

Cedo Nulli


Acties:
  • 0 Henk 'm!

  • JazekerXX
  • Registratie: November 2012
  • Laatst online: 31-05 15:02
BCM schreef op dinsdag 31 oktober 2023 @ 11:32:
[...]


Ben bang van wel. Ik heb echt heel veel lopen zoeken, alles opnieuw aangesloten etc etc. Toen alle HW opnieuw besteld, aangesloten en ineens... Deed hij het....
hmmm ok.

zou je je de esphome config die je nu gebruikt willen delen?
en hoe heb je het uiteindelijk nu aangesloten?
ik krijg het gevoel dat het toch met de gnd te maken heeft oid. vreemd dat de growatt geen GND aansluiting op de connector heeft.

Acties:
  • +1 Henk 'm!

  • BCM
  • Registratie: November 2002
  • Laatst online: 08:36
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
uart:
  id: mod_bus
  tx_pin: 1
  rx_pin: 3
  baud_rate: 9600
  
modbus:
  id: modbus1
  uart_id: mod_bus
  
modbus_controller:
  - id: growatt3000
# the Modbus device addr
    address: 0x1
    modbus_id: modbus1
    setup_priority: -10  

number:
  - platform: modbus_controller
    modbus_controller_id: growatt3000 
    id: pv_powerfactor3000
    name: "PV inverter Power factor Growatt 3000"
    address: 3
    register_type: holding
    value_type: U_WORD
    min_value: 0
    max_value: 100
    lambda: "return  x; "
    write_lambda: |-
      ESP_LOGD("main","Modbus Number incoming value = %f",x);
      uint16_t powerfactor = x ;
      esphome::modbus_controller::ModbusCommandItem set_payload_command = esphome::modbus_controller::ModbusCommandItem::create_write_single_command(growatt3000, 3, powerfactor);
      return x;

text_sensor:
  - platform: template
    name: "Growatt3000 Status"
    icon: mdi:eye
    entity_category: diagnostic
    lambda: |-
      if ((id(status3000).state) == 1) {
        return {"Normal"};
      } else if ((id(status3000).state) == 0)  {
        return {"Standby"};
      } else if ((id(status3000).state) == 2)  {
        return {"Discharge"};
      } else if ((id(status3000).state) == 3)  {
        return {"Fault"};
      } else if ((id(status3000).state) == 4)  {
        return {"Flash"};
      } else if ((id(status3000).state) == 5)  {
        return {"PV Charging"};
      } else if ((id(status3000).state) == 6)  {
        return {"AC Charging"};
      } else if ((id(status3000).state) == 7)  {
        return {"Combined Charging"};
      } else if ((id(status3000).state) == 8)  {
        return {"Combined Charging & Bypass"};
      } else if ((id(status3000).state) == 9)  {
        return {"PV Charging & Bypass"};
      } else if ((id(status3000).state) == 10)  {
        return {"AC Charging & Bypass"};
      } else if ((id(status3000).state) == 11)  {
        return {"Bypass"};
      } else if (id(status3000).state == 12)  {
        return {"PV Charge and Discharge"};
      } else {
        return {"Unknown"};
      }

sensor:
  - platform: modbus_controller
    modbus_controller_id: growatt3000  
    address: 0
    register_type: "read"
    #internal: true
    accuracy_decimals: 0
    id: status3000

  - platform: modbus_controller
    modbus_controller_id: growatt3000  
    name: "growatt3000 PowerFactor"
    address: 3
    register_type: "holding"
    device_class: power
    icon: mdi:flash
    value_type: U_WORD
    accuracy_decimals: 1

  - platform: modbus_controller
    modbus_controller_id: growatt3000  
    name: "growatt3000 MaxVoltage"
    address: 65
    register_type: "holding"
    device_class: power
    icon: mdi:flash
    value_type: U_WORD
    unit_of_measurement: V
    accuracy_decimals: 1
    filters:
    - multiply: 0.1

Cedo Nulli


Acties:
  • 0 Henk 'm!

  • brambo123
  • Registratie: December 2006
  • Laatst online: 13:19
Die RS485 printplaatjes die zelfstandig flow control doen is sowieso vragen om problemen.
Je hoopt de print terug is gegaan naar ontvangst mode voordat de omvormer begint met data versturen, maar kan dus best mis gaan.
Beter gebruik je een plintplaat die het niet automatisch doet en gebruik je de optie 'flow_control_pin'.

En ondertussen hopen dat je ESP niet opgeblazen wordt door een te hoge spanning.
Je geeft namelijk je RS485 print 5V, maar ESP draait op 3.3V.
Mocht je iets beters zoeken: ik heb nog wel wat TP8485E chips liggen (werkt wel op 3.3v), en ook nog wel een break-out bordje.

Sowieso wel gnd aansluiten, is pin 15 op je omvormer.
Of zorgen voor een voeding de gnd aan de aarde heeft hangen.

Acties:
  • 0 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
De xy-017 werkt gewoon op 3V3
https://www.benselectroni...l-to-rs485-converter.html
Die ik heb komen ook van ali, en werken allemaal prima
(zie mijn V&A ad voor complete assembly met esp32)

Ik had juist (VEEL!!!) problemen met de 5V versie van de RS485 module, die de flow_control_pin nodig heeft.
Die zou ik links laten liggen. (Heb van de 40 stuks, 75% weg kunnen gooien)
https://www.benselectronics.nl/max485-ttl-rs485.html

[ Voor 3% gewijzigd door AUijtdehaag op 01-11-2023 12:24 ]

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


Acties:
  • +2 Henk 'm!

  • kaasmakert
  • Registratie: November 2016
  • Laatst online: 03-06 16:23
Korte kaping van dit topic. Ook ik was helemaal klaar met de Growatt cloud/app.

Als je niet wil knutselen met losse ESP en RS485 prints:

Je kunt de bestaande WiFi stick omflashen
Werkt zowel voor ShineWifi-S als ShineWifi-X, dus oude en nieuwe modellen.
Was voor mij verreweg de kortste route naar een robuuste en lokale oplossing, geheel los van Growatt.

In die stick zit een ESP8266 die je herprogrammeert.
Daarna dus geen verbinding meer met de Growatt cloud, maar gewoon alles via MQTT naar je eigen domotica systeem.

+Hergebruik van de bestaande WiFi stick
+Zit al een mooie behuizing omheen met status LED en losse WiFi antenne
+Webservertje met grafiek van PV data en configuratie van de stick (MQTT parameters enz.)
+Draait stabiel
-Niet mogelijk bij de LAN sticks

[ Voor 14% gewijzigd door kaasmakert op 01-11-2023 13:14 ]

All-Electric sinds 2018 | 7kW Panasonic Monoblock | 2x Marstek 5kWh thuisaccu | 11kWp PV


Acties:
  • 0 Henk 'm!

  • JazekerXX
  • Registratie: November 2012
  • Laatst online: 31-05 15:02
brambo123 schreef op woensdag 1 november 2023 @ 11:43:
En ondertussen hopen dat je ESP niet opgeblazen wordt door een te hoge spanning.
Je geeft namelijk je RS485 print 5V, maar ESP draait op 3.3V.
ik heb het RS485 printje gewoon op 3,3v draaien, maar anders kun je ook de spanning verlagen door een spanningsdeler te maken, dat zijn gewoon 2 weerstanden in serie. de verhouding tussen die twee weerstanden bepaald de spanning in het midden. dus aan de ene kant de hoge spanning, in het midden de lagere spanning voor je input en aan het andere eind de gnd.. simpel en effectief!

Acties:
  • +1 Henk 'm!

  • JazekerXX
  • Registratie: November 2012
  • Laatst online: 31-05 15:02
BCM schreef op woensdag 1 november 2023 @ 11:09:
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
uart:
  id: mod_bus
  tx_pin: 1
  rx_pin: 3
  baud_rate: 9600
  
modbus:
  id: modbus1
  uart_id: mod_bus
  
modbus_controller:
  - id: growatt3000
# the Modbus device addr
    address: 0x1
    modbus_id: modbus1
    setup_priority: -10  

number:
  - platform: modbus_controller
    modbus_controller_id: growatt3000 
    id: pv_powerfactor3000
    name: "PV inverter Power factor Growatt 3000"
    address: 3
    register_type: holding
    value_type: U_WORD
    min_value: 0
    max_value: 100
    lambda: "return  x; "
    write_lambda: |-
      ESP_LOGD("main","Modbus Number incoming value = %f",x);
      uint16_t powerfactor = x ;
      esphome::modbus_controller::ModbusCommandItem set_payload_command = esphome::modbus_controller::ModbusCommandItem::create_write_single_command(growatt3000, 3, powerfactor);
      return x;

text_sensor:
  - platform: template
    name: "Growatt3000 Status"
    icon: mdi:eye
    entity_category: diagnostic
    lambda: |-
      if ((id(status3000).state) == 1) {
        return {"Normal"};
      } else if ((id(status3000).state) == 0)  {
        return {"Standby"};
      } else if ((id(status3000).state) == 2)  {
        return {"Discharge"};
      } else if ((id(status3000).state) == 3)  {
        return {"Fault"};
      } else if ((id(status3000).state) == 4)  {
        return {"Flash"};
      } else if ((id(status3000).state) == 5)  {
        return {"PV Charging"};
      } else if ((id(status3000).state) == 6)  {
        return {"AC Charging"};
      } else if ((id(status3000).state) == 7)  {
        return {"Combined Charging"};
      } else if ((id(status3000).state) == 8)  {
        return {"Combined Charging & Bypass"};
      } else if ((id(status3000).state) == 9)  {
        return {"PV Charging & Bypass"};
      } else if ((id(status3000).state) == 10)  {
        return {"AC Charging & Bypass"};
      } else if ((id(status3000).state) == 11)  {
        return {"Bypass"};
      } else if (id(status3000).state == 12)  {
        return {"PV Charge and Discharge"};
      } else {
        return {"Unknown"};
      }

sensor:
  - platform: modbus_controller
    modbus_controller_id: growatt3000  
    address: 0
    register_type: "read"
    #internal: true
    accuracy_decimals: 0
    id: status3000

  - platform: modbus_controller
    modbus_controller_id: growatt3000  
    name: "growatt3000 PowerFactor"
    address: 3
    register_type: "holding"
    device_class: power
    icon: mdi:flash
    value_type: U_WORD
    accuracy_decimals: 1

  - platform: modbus_controller
    modbus_controller_id: growatt3000  
    name: "growatt3000 MaxVoltage"
    address: 65
    register_type: "holding"
    device_class: power
    icon: mdi:flash
    value_type: U_WORD
    unit_of_measurement: V
    accuracy_decimals: 1
    filters:
    - multiply: 0.1
Bedankt BCM!

het werkt bij mij nu ook!
het stomme is, ik dacht ik druk nog even op de reset knop van de esp om te zien wat de tx en rx ledjes van de RS485 module doen en boem er kwam ineens data uit. |:( snap jij het nog?.. dus alles was gewoon goed..

wel had ik eerst de modbus manier in esphome gebruikt, maar esphome heeft ook een growatt integratie tegenwoordig waarmee je nog meer data uit je inverter krijgt, kan op de oude modbus manier uiteraard ook maar dan moet je de registers opzoeken en eventueel de juiste multiplier toepassen etc. dat heeft die integratie dus al vor je gedaan. je kan beide ook door elkaar gebruiken als je wil.

wat ik wel mooi vind is dat ik string 1 en 2 met elkaar kan vergelijken en zo meteen weet of alles in orde is met de panelen. wat ook leuk is dat je de efficiëntie van de inverter kan berekenen aan de hand van de DC power en AC power. ik zal wel een samenvatting posten zodat anderen er misschien ook wat aan hebben..

bedankt in ieder geval voor het meedenken!

Acties:
  • +1 Henk 'm!

  • JazekerXX
  • Registratie: November 2012
  • Laatst online: 31-05 15:02
bij deze even een complete samenvatting van de stappen die ik heb doorlopen om mijn Growatt min 3600TL-XE data werkend te krijgen via een esp8266 op home assistant.

in home assistant heb ik met esphome een esp8266 (nodemcu kloon) van basis firmware voorzien. als je niet weet hoe dit werkt kan ik het wel uitleggen, maar ik ga er even vanuit dat dit bekend is.

vervolgens kun je onderstaande configuratie via esphome op de esp8266 laden.
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
esphome:
  name: zonnepanelen-voor
  friendly_name: Zonnepanelen voor

esp8266:
  board: nodemcuv2

# Enable logging
logger:
  baud_rate: 0

# Enable Home Assistant API
api:
  encryption:
    key: "jouw key hier"

ota:
  password: "jouw ww hier"

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

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Zonnepanelen-Voor"
    password: "jouw ww hier"

# Enable Web server
web_server:
  port: 80

captive_portal:

time:
  - platform: homeassistant
    id: homeassistant_time

uart:
  id: mod_bus
  tx_pin: D5
  rx_pin: D6
  baud_rate: 9600
  
modbus:
  id: modbus1
  uart_id: mod_bus
  
modbus_controller:
  - id: growatt
    modbus_id: modbus1
    setup_priority: -10
  
globals:
  - id: gstatus
    type: int
    restore_value: no
    initial_value: '0'

sensor:
  - platform: growatt_solar
    update_interval: 10s
    protocol_version: RTU2

    inverter_status:
      name: "Growatt Status Code"

    phase_a:
      voltage:
          name: "Growatt AC Voltage"
      current:
          name: "Growatt AC Current"
      active_power:
          name: "Growatt AC Power"
          id: "ac_power"

    pv1:
      voltage:
          name: "Growatt PV1 DC Voltage"
      current:
          name: "Growatt PV1 DC Current"
      active_power:
          name: "Growatt PV1 Active DC Power"

    pv2:
      voltage:
          name: "Growatt PV2 DC Voltage"
      current:
          name: "Growatt PV2 DC Current"
      active_power:
          name: "Growatt PV2 Active DC Power"

    pv_active_power:
      name: "Growatt PV Active DC Power"
      id: "dc_power"

    frequency:
      name: "Growatt Frequency"

    energy_production_day:
      name: "Growatt EnergyToday"

    total_energy_production:
      name: "Growatt EnergyTotal"

    inverter_module_temp:
      name: "Growatt Inverter Module Temp"    

  - platform: template
    name: "Inverter efficiëntie"
    lambda: |-
      return((id(ac_power).state / id(dc_power).state) * 100);
    unit_of_measurement: '%'
    update_interval: 10s


dan nog de hardware.
ik heb de voeding via usb op de inverter
de tx pin D5 (GPIO14) naar de RS485 module tx (tx op tx is wel vreemd maar zo werkt het dus...)
de rx pin D6 (GPIO12) naar de RS485 module rx (pin D5 en D6 zijn een sofware serial dus andere pinnen kunnen ook ik heb niet meer getest of UART0 - GPIO1 en GPIO3 ook werken, dit is wel een hardware serial)
en als laatste 3,3v en gnd naar de RS485

vanaf de RS485 gaat A naar de inverter pin 3 - A en RS485 gaat B naar de inverter pin 4 - B
en op de connector van de inverter komt er nog een termination weerstand van 120 ohm over pin 3 en 4 (bij de draden)

dan nog een ding, in eerste instantie werkte het bij ook niet en na een keer op het reset knopje van de esp gedrukt te hebben, begon het spontaan te werken.

zie ook onderstaande afbeeldingen van mijn testopstelling. als dit allemaal zonder problemen werkt maak ik uiteraard nog een PCB en 3D geprinte behuizing.

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

Afbeeldingslocatie: https://tweakers.net/i/48H9IHHD1RJeztUNmt0-gDMboZI=/x800/filters:strip_icc():strip_exif()/f/image/oQIut2sJWm5RcYy2DakVf2XW.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/1WKVMRjb55TWees_mI04wZJTWaM=/800x/filters:strip_icc():strip_exif()/f/image/gmyznrL7GNgQaV7GLXNWTEzv.jpg?f=fotoalbum_large

Acties:
  • +2 Henk 'm!

  • Tieuwe
  • Registratie: Oktober 2001
  • Laatst online: 09-01 10:18
Tieuwe schreef op maandag 23 oktober 2023 @ 20:14:
Dit is mijn situatie
[Afbeelding][Afbeelding]


In Esphome staat
TX pin op GPIO1
RX pin op GPIO3
Baud rate op 9600

Edit: Heb inmiddels 5 nieuwe 485 - TTL bordjes besteld. Ik krijg de foutmeldingen gewoon niet weg (als de omvormer aanstaat natuurlijk)
Ok, met alle nieuwe info van o.a. @JazekerXX en Github etc. heb ik het helemaal werkend gekregen :) Alle info wordt nu netjes weergegeven in Home Assistant.

Wellicht ook handig voor anderen die net als ik onafhankelijk van de ShineX USB stick / Growatt API willen werken om hier zo compleet mogelijk te beschrijven hoe ik dit uiteindelijk gedaan heb.

Hardware:
- Growatt MOD 7000TL3-X omvormer
- ESP32
- RS485 - TTL bordje
- TX van RS485 bord naar GPIO23 op ESP32 (dus niet de UART TX!)
- RX van RS485 bord naar GPIO22 op ESP32 (dus niet de UART RX!)
- VCC van RS485 bord naar VCC op ESP32
- GND van RS485 bord naar GND op ESP32
- A+ van RS485 bord naar pin 3 op de omvormer (geen weerstand nodig!)
- B- van RS485 bord naar pin 4 op de omvormer (geen weerstand nodig!)
zie ook plaatjes hier voor de connector info op mijn omvormer


Code opmerkingen:
Voor mijn ESP32 moest ik deze Arduino versie code toevoegen om het te laten werken:
code:
1
2
3
4
5
esp32:
  board: esp32dev
  framework:
    type: arduino
    version: 2.0.6


Mijn omvormer werkt dus met RTU2 codering.

Voor de rest ziet de totale code dan zo uit:

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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
substitutions:
  device_name: zolder
  device_description: "Growatt Solar Inverter Monitoring"
  friendly_name: zolder

esphome:
  name: '${device_name}'
  comment: '${device_description}'

esp32:
  board: esp32dev
  framework:
    type: arduino
    version: 2.0.6

# Enable logging
logger:
  baud_rate: 0

# Enable Home Assistant API
api:
  encryption:
    key: "xxx"

ota:
  password: "xxx"

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

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Zolder Fallback Hotspot"
    password: "pgYfRDEjThfb"

# Enable Web server
web_server:
  port: 80

captive_portal:

time:
  - platform: homeassistant
    id: homeassistant_time

uart:
  id: mod_bus
  tx_pin: GPIO23
  rx_pin: GPIO22
  baud_rate: 9600
  
modbus:
  id: modbus1
  uart_id: mod_bus
  
modbus_controller:
  - id: growatt
    modbus_id: modbus1
    setup_priority: -10
  
globals:
  - id: gstatus
    type: int
    restore_value: no
    initial_value: '0'

sensor:
  - platform: growatt_solar
    update_interval: 10s
    protocol_version: RTU2

    inverter_status:
      name: "Growatt Status Code"

    phase_a:
      voltage:
          name: "Growatt Voltage Phase A"
      current:
          name: "Growatt Current Phase A"
      active_power:
          name: "Growatt Power Phase A"
    phase_b:
      voltage:
          name: "Growatt Voltage Phase B"
      current:
          name: "Growatt Current Phase B"
      active_power:
          name: "Growatt Power Phase B"
    phase_c:
      voltage:
          name: "Growatt Voltage Phase C"
      current:
          name: "Growatt Current Phase C"
      active_power:
          name: "Growatt Power Phase C"

    pv1:
      voltage:
          name: "Growatt PV1 Voltage"
      current:
          name: "Growatt PV1 Current"
      active_power:
          name: "Growatt PV1 Active Power"

    pv2:
      voltage:
          name: "Growatt PV2 Voltage"
      current:
          name: "Growatt PV2 Current"
      active_power:
          name: "Growatt PV2 Active Power"

    active_power:
      name: "Growatt Grid Active Power"

    pv_active_power:
      name: "Growatt PV Active Power"

    frequency:
      name: "Growatt Frequency"

    energy_production_day:
      name: "Growatt Today's Generation"

    total_energy_production:
      name: "Growatt Total Energy Production"

    inverter_module_temp:
      name: "Growatt Inverter Module Temp"

Acties:
  • 0 Henk 'm!

  • Dutchess_Nicole
  • Registratie: Augustus 2001
  • Laatst online: 10:58
Tijd voor een necro, helaas.

Ik ben net begonnen met het vervangen van de Shelly die ik momenteel gebruik voor het uitlezen van mijn omvormer output naar de modbus methode.

Het blijkt allemaal een stuk lastiger zijn dan ik in de vele tutorials tegenkom.

YAML:
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
sphome:
  name: growatt-esp
  friendly_name: growatt-esp

esp8266:
  board: esp01_1m

# Enable logging
logger:
  baud_rate: 0

# Enable Home Assistant API
api:
  encryption:
    key: "key"

ota:
  password: "password"

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

web_server:
  port: 80

captive_portal:
    
time:
  - platform: homeassistant
    id: homeassistant_time

uart:
  id: gw_uart
  baud_rate: 9600
  tx_pin: GPIO15
  rx_pin: GPIO13

modbus:
  id: modbus1
  uart_id: gw_uart

modbus_controller:
  - id: growatt
    address: 0x02
    modbus_id: modbus1
    setup_priority: -10

sensor:
  - platform: growatt_solar
    update_interval: 5s
    protocol_version: RTU2

    inverter_status:
      name: "Growatt Status Code"

    phase_a:
      voltage:
          name: "Growatt Voltage Phase A"
      current:
          name: "Growatt Current Phase A"
      active_power:
          name: "Growatt Power Phase A"
    phase_b:
      voltage:
          name: "Growatt Voltage Phase B"
      current:
          name: "Growatt Current Phase B"
      active_power:
          name: "Growatt Power Phase B"
    phase_c:
      voltage:
          name: "Growatt Voltage Phase C"
      current:
          name: "Growatt Current Phase C"
      active_power:
          name: "Growatt Power Phase C"

    pv1:
      voltage:
          name: "Growatt PV1 Voltage"
      current:
          name: "Growatt PV1 Current"
      active_power:
          name: "Growatt PV1 Active Power"

    pv2:
      voltage:
          name: "Growatt PV2 Voltage"
      current:
          name: "Growatt PV2 Current"
      active_power:
          name: "Growatt PV2 Active Power"

    active_power:
      name: "Growatt Grid Active Power"

    pv_active_power:
      name: "Growatt PV Active Power"

    frequency:
      name: "Growatt Frequency"

    energy_production_day:
      name: "Growatt Today's Generation"

    total_energy_production:
      name: "Growatt Total Energy Production"

    inverter_module_temp:
      name: "Growatt Inverter Module Temp"

  - platform: modbus_controller
    modbus_controller_id: growatt  
    address: 0
    register_type: "read"
    #internal: true
    accuracy_decimals: 0
    id: status

  - platform: modbus_controller
    modbus_controller_id: growatt  
    name: "growatt Power Factor"
    address: 3
    register_type: "holding"
    device_class: power
    icon: mdi:flash
    value_type: U_WORD
    accuracy_decimals: 1

  - platform: modbus_controller
    modbus_controller_id: growatt  
    name: "growatt Max Voltage"
    address: 65
    register_type: "holding"
    device_class: power
    icon: mdi:flash
    value_type: U_WORD
    unit_of_measurement: V
    accuracy_decimals: 1
    filters:
    - multiply: 0.1

number:
  - platform: modbus_controller
    modbus_controller_id: growatt
    id: pv_powerfactor
    name: "PV inverter Power factor Growatt 3000"
    address: 3
    register_type: holding
    value_type: U_WORD
    min_value: 0
    max_value: 100
    lambda: "return  x; "
    write_lambda: |-
      ESP_LOGD("main","Modbus Number incoming value = %f",x);
      uint16_t powerfactor = x ;
      esphome::modbus_controller::ModbusCommandItem set_payload_command = esphome::modbus_controller::ModbusCommandItem::create_write_single_command(growatt, 3, powerfactor);
      return x;

text_sensor:
  - platform: template
    name: "Growatt Status"
    icon: mdi:eye
    entity_category: diagnostic
    lambda: |-
      if ((id(status).state) == 1) {
        return {"Normal"};
      } else if ((id(status).state) == 0)  {
        return {"Standby"};
      } else if ((id(status).state) == 2)  {
        return {"Discharge"};
      } else if ((id(status).state) == 3)  {
        return {"Fault"};
      } else if ((id(status).state) == 4)  {
        return {"Flash"};
      } else if ((id(status).state) == 5)  {
        return {"PV Charging"};
      } else if ((id(status).state) == 6)  {
        return {"AC Charging"};
      } else if ((id(status).state) == 7)  {
        return {"Combined Charging"};
      } else if ((id(status).state) == 8)  {
        return {"Combined Charging & Bypass"};
      } else if ((id(status).state) == 9)  {
        return {"PV Charging & Bypass"};
      } else if ((id(status).state) == 10)  {
        return {"AC Charging & Bypass"};
      } else if ((id(status).state) == 11)  {
        return {"Bypass"};
      } else if (id(status).state == 12)  {
        return {"PV Charge and Discharge"};
      } else {
        return {"Unknown"};
      }


Voorzover ik kan zien zou dit moeten werken op een NodeMCU, waarbij ik dus niet de reguliere TX/RX pins gebruik maar de TX2/RX2 pins, D7 en D8. Dit omdat de logging inderdaad in de weg kan gaan zitten.

However, ik krijg dus met geen mogelijkheid een antwoord op de frames die ik (denk dat ik) stuur.

De TX led van de RS485 board gaat netjes elke 5 seconden aan, maar ik krijg nooit een antwoord terug.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
13:38:36    [D] [modbus_controller:040] 

Modbus command to device=2 register=0x03 countdown=0 no response received - removed from send queue

13:38:37    [D] [modbus_controller:040] 

Modbus command to device=2 register=0x41 countdown=0 no response received - removed from send queue

13:38:39    [D] [modbus_controller:040] 

Modbus command to device=2 register=0x00 countdown=0 no response received - removed from send queue

13:39:30    [D] [text_sensor:064]   

'Growatt Status': Sending state 'Unknown'


Id 0x2 voor de inverter klopt hier: dat is inderdaad wat ik heb ingesteld op de inverter zelf. Om maar zeker te weten dat hij een bekend adres zou hebben. Ik heb de inverter ook al van de stroom af gehaald in de hoop dat er misschien iets zou veranderen bij een cold boot, maar helaas.

Ik denk dat er of een communicatieprobleem is mbt die idiote stekker onderaan de inverter (hoe kom je eigenlijk aan een stekker die daarop past? Ik kan ze echt nergens vinden) maar ook met andere kabels werkt het gewoon niet.

Ik heb al geprobeerd een paar spijkers in de connector te rammen gewoon om te zien of er uberhaupt wel contact is, maar dat was natuurlijk ook geen succes.

Ik raak een beetje door mijn ideeen heen. Iemand suggesties?

Kia E-Niro 2019 Executiveline. OTGW/HA Enthousiasteling.


Acties:
  • +1 Henk 'm!

  • brxm
  • Registratie: Augustus 2006
  • Laatst online: 06-06 09:19
Wat me opviel:

is ' board: esp01_1m' wel de juiste optie? Moet dat niet 'nodemcu' zijn?

Dan:

Ik heb werkende YAML, zie eerder in dit draadje - de code van BCM. Hierin zijn alle sensoren geconfigureerd op basis van sensor component platform: modbus_controller.

Jij gebruikt zowel 'modbus_controller' als 'growatt_solar' als platform in 1 sensor clause. Ik heb dat ook eens geprobeerd en heb dat niet werkend gekregen. Heb daar ook niet veel tijd in gestoken. Heb platform 'growatt_solar' eruit gesloopt en het werkte weer. Dus probeer het eens met alleen sensoren op platform: modbus_controller te coderen. Of juist andersom, alles alleen met platform growatt_solar. Misschien dat de ESPHome code generator er niet tegen kan als je binnen 1 sensor: clause die twee platforms mixt. Dat was althans mijn gedachte. Ik zelf ben iig niet verder gegaan met 'growatt_solar' dus of dat uberhaupt werkt kan ik je niet vertellen.

Die 'idiote stekker' was bij mij meegeleverd bij de inverter. Je kan ze ook bij Ali kopen dacht ik. Of ebay. Ooit heb ik ze gegoogled en ergens gevonden. Pin lay-out staat in de manual en die is correct.

Acties:
  • 0 Henk 'm!

  • Foofur
  • Registratie: Januari 2024
  • Laatst online: 05-06 16:40
Als het doel is om data in mqtt of HA te krijgen, kun je ook "grott" gebruiken. Geen modus, maar je onderschept dan gewoon de data die naar de Chinese servers gaat. (Doorsturen kun je ook blokkeren).

Je ziet dan ook meer data dan dat je in de app ziet, en het werkt altijd.

https://github.com/johanmeijer/grott/discussions/98
https://github.com/johanmeijer/grott

Acties:
  • 0 Henk 'm!

  • JazekerXX
  • Registratie: November 2012
  • Laatst online: 31-05 15:02
Dutchess_Nicole schreef op dinsdag 6 februari 2024 @ 13:44:
Tijd voor een necro, helaas.

Ik ben net begonnen met het vervangen van de Shelly die ik momenteel gebruik voor het uitlezen van mijn omvormer output naar de modbus methode.

Het blijkt allemaal een stuk lastiger zijn dan ik in de vele tutorials tegenkom.

YAML:
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
sphome:
  name: growatt-esp
  friendly_name: growatt-esp

esp8266:
  board: esp01_1m

# Enable logging
logger:
  baud_rate: 0

# Enable Home Assistant API
api:
  encryption:
    key: "key"

ota:
  password: "password"

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

web_server:
  port: 80

captive_portal:
    
time:
  - platform: homeassistant
    id: homeassistant_time

uart:
  id: gw_uart
  baud_rate: 9600
  tx_pin: GPIO15
  rx_pin: GPIO13

modbus:
  id: modbus1
  uart_id: gw_uart

modbus_controller:
  - id: growatt
    address: 0x02
    modbus_id: modbus1
    setup_priority: -10

sensor:
  - platform: growatt_solar
    update_interval: 5s
    protocol_version: RTU2

    inverter_status:
      name: "Growatt Status Code"

    phase_a:
      voltage:
          name: "Growatt Voltage Phase A"
      current:
          name: "Growatt Current Phase A"
      active_power:
          name: "Growatt Power Phase A"
    phase_b:
      voltage:
          name: "Growatt Voltage Phase B"
      current:
          name: "Growatt Current Phase B"
      active_power:
          name: "Growatt Power Phase B"
    phase_c:
      voltage:
          name: "Growatt Voltage Phase C"
      current:
          name: "Growatt Current Phase C"
      active_power:
          name: "Growatt Power Phase C"

    pv1:
      voltage:
          name: "Growatt PV1 Voltage"
      current:
          name: "Growatt PV1 Current"
      active_power:
          name: "Growatt PV1 Active Power"

    pv2:
      voltage:
          name: "Growatt PV2 Voltage"
      current:
          name: "Growatt PV2 Current"
      active_power:
          name: "Growatt PV2 Active Power"

    active_power:
      name: "Growatt Grid Active Power"

    pv_active_power:
      name: "Growatt PV Active Power"

    frequency:
      name: "Growatt Frequency"

    energy_production_day:
      name: "Growatt Today's Generation"

    total_energy_production:
      name: "Growatt Total Energy Production"

    inverter_module_temp:
      name: "Growatt Inverter Module Temp"

  - platform: modbus_controller
    modbus_controller_id: growatt  
    address: 0
    register_type: "read"
    #internal: true
    accuracy_decimals: 0
    id: status

  - platform: modbus_controller
    modbus_controller_id: growatt  
    name: "growatt Power Factor"
    address: 3
    register_type: "holding"
    device_class: power
    icon: mdi:flash
    value_type: U_WORD
    accuracy_decimals: 1

  - platform: modbus_controller
    modbus_controller_id: growatt  
    name: "growatt Max Voltage"
    address: 65
    register_type: "holding"
    device_class: power
    icon: mdi:flash
    value_type: U_WORD
    unit_of_measurement: V
    accuracy_decimals: 1
    filters:
    - multiply: 0.1

number:
  - platform: modbus_controller
    modbus_controller_id: growatt
    id: pv_powerfactor
    name: "PV inverter Power factor Growatt 3000"
    address: 3
    register_type: holding
    value_type: U_WORD
    min_value: 0
    max_value: 100
    lambda: "return  x; "
    write_lambda: |-
      ESP_LOGD("main","Modbus Number incoming value = %f",x);
      uint16_t powerfactor = x ;
      esphome::modbus_controller::ModbusCommandItem set_payload_command = esphome::modbus_controller::ModbusCommandItem::create_write_single_command(growatt, 3, powerfactor);
      return x;

text_sensor:
  - platform: template
    name: "Growatt Status"
    icon: mdi:eye
    entity_category: diagnostic
    lambda: |-
      if ((id(status).state) == 1) {
        return {"Normal"};
      } else if ((id(status).state) == 0)  {
        return {"Standby"};
      } else if ((id(status).state) == 2)  {
        return {"Discharge"};
      } else if ((id(status).state) == 3)  {
        return {"Fault"};
      } else if ((id(status).state) == 4)  {
        return {"Flash"};
      } else if ((id(status).state) == 5)  {
        return {"PV Charging"};
      } else if ((id(status).state) == 6)  {
        return {"AC Charging"};
      } else if ((id(status).state) == 7)  {
        return {"Combined Charging"};
      } else if ((id(status).state) == 8)  {
        return {"Combined Charging & Bypass"};
      } else if ((id(status).state) == 9)  {
        return {"PV Charging & Bypass"};
      } else if ((id(status).state) == 10)  {
        return {"AC Charging & Bypass"};
      } else if ((id(status).state) == 11)  {
        return {"Bypass"};
      } else if (id(status).state == 12)  {
        return {"PV Charge and Discharge"};
      } else {
        return {"Unknown"};
      }


Voorzover ik kan zien zou dit moeten werken op een NodeMCU, waarbij ik dus niet de reguliere TX/RX pins gebruik maar de TX2/RX2 pins, D7 en D8. Dit omdat de logging inderdaad in de weg kan gaan zitten.

However, ik krijg dus met geen mogelijkheid een antwoord op de frames die ik (denk dat ik) stuur.

De TX led van de RS485 board gaat netjes elke 5 seconden aan, maar ik krijg nooit een antwoord terug.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
13:38:36    [D] [modbus_controller:040] 

Modbus command to device=2 register=0x03 countdown=0 no response received - removed from send queue

13:38:37    [D] [modbus_controller:040] 

Modbus command to device=2 register=0x41 countdown=0 no response received - removed from send queue

13:38:39    [D] [modbus_controller:040] 

Modbus command to device=2 register=0x00 countdown=0 no response received - removed from send queue

13:39:30    [D] [text_sensor:064]   

'Growatt Status': Sending state 'Unknown'


Id 0x2 voor de inverter klopt hier: dat is inderdaad wat ik heb ingesteld op de inverter zelf. Om maar zeker te weten dat hij een bekend adres zou hebben. Ik heb de inverter ook al van de stroom af gehaald in de hoop dat er misschien iets zou veranderen bij een cold boot, maar helaas.

Ik denk dat er of een communicatieprobleem is mbt die idiote stekker onderaan de inverter (hoe kom je eigenlijk aan een stekker die daarop past? Ik kan ze echt nergens vinden) maar ook met andere kabels werkt het gewoon niet.

Ik heb al geprobeerd een paar spijkers in de connector te rammen gewoon om te zien of er uberhaupt wel contact is, maar dat was natuurlijk ook geen succes.

Ik raak een beetje door mijn ideeen heen. Iemand suggesties?
op regel 1 heb je al een foutje, dat moet esphome: zijn..

Acties:
  • 0 Henk 'm!

  • Dutchess_Nicole
  • Registratie: Augustus 2001
  • Laatst online: 10:58
Foofur schreef op dinsdag 6 februari 2024 @ 21:45:
Als het doel is om data in mqtt of HA te krijgen, kun je ook "grott" gebruiken. Geen modus, maar je onderschept dan gewoon de data die naar de Chinese servers gaat. (Doorsturen kun je ook blokkeren).

Je ziet dan ook meer data dan dat je in de app ziet, en het werkt altijd.

https://github.com/johanmeijer/grott/discussions/98
https://github.com/johanmeijer/grott
Dat kan alleen als je een Shinewhatever stick hebt. Die heb ik niet, dus er valt niks door te sturen.
brxm schreef op dinsdag 6 februari 2024 @ 19:33:
Wat me opviel:

is ' board: esp01_1m' wel de juiste optie? Moet dat niet 'nodemcu' zijn?

Dan:

Ik heb werkende YAML, zie eerder in dit draadje - de code van BCM. Hierin zijn alle sensoren geconfigureerd op basis van sensor component platform: modbus_controller.

Jij gebruikt zowel 'modbus_controller' als 'growatt_solar' als platform in 1 sensor clause. Ik heb dat ook eens geprobeerd en heb dat niet werkend gekregen. Heb daar ook niet veel tijd in gestoken. Heb platform 'growatt_solar' eruit gesloopt en het werkte weer. Dus probeer het eens met alleen sensoren op platform: modbus_controller te coderen. Of juist andersom, alles alleen met platform growatt_solar. Misschien dat de ESPHome code generator er niet tegen kan als je binnen 1 sensor: clause die twee platforms mixt. Dat was althans mijn gedachte. Ik zelf ben iig niet verder gegaan met 'growatt_solar' dus of dat uberhaupt werkt kan ik je niet vertellen.

Die 'idiote stekker' was bij mij meegeleverd bij de inverter. Je kan ze ook bij Ali kopen dacht ik. Of ebay. Ooit heb ik ze gegoogled en ergens gevonden. Pin lay-out staat in de manual en die is correct.
Die board: esp01_1m heb ik van de esphome compatibility matrix geplukt. Ik was inderdaad begonnen met board: nodemcu maar die wou niet compilen. Dus dan maar deze.

Ik zal eens kijken of er een manier is om de growatt_solar sensors te vervangen door iets anders.

helaas zwerven er dus verschillende tutorials rond waarvan de helft growatt_solar heeft en de andere helft modbus_controller. Maar dit is zeker een goed punt!.
JazekerXX schreef op dinsdag 6 februari 2024 @ 23:05:
[...]


op regel 1 heb je al een foutje, dat moet esphome: zijn..
Dat is gewoon een kopieerfoutje. Staat goed in de code.

Kia E-Niro 2019 Executiveline. OTGW/HA Enthousiasteling.


Acties:
  • 0 Henk 'm!

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 06-06 22:28

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Dutchess_Nicole schreef op woensdag 7 februari 2024 @ 08:45:
Die board: esp01_1m heb ik van de esphome compatibility matrix geplukt. Ik was inderdaad begonnen met board: nodemcu maar die wou niet compilen. Dus dan maar deze.
Ja maar... Als je kijkt naar de board definities zie je dat de esp01_1m geen Dx-pin definities heeft. Die horen bij boards nodemcu, d1 en d1_mini.

Ik zou uitzoeken waarom esphome niet kan compilen op board nodemcu, of de pinnen omnummeren naar de daadwerkelijke pin-nummers (terug te vinden @ bovenstaande link).

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


Acties:
  • 0 Henk 'm!

  • Dutchess_Nicole
  • Registratie: Augustus 2001
  • Laatst online: 10:58
Thijsmans schreef op woensdag 7 februari 2024 @ 09:30:
[...]


Ja maar... Als je kijkt naar de board definities zie je dat de esp01_1m geen Dx-pin definities heeft. Die horen bij boards nodemcu, d1 en d1_mini.

Ik zou uitzoeken waarom esphome niet kan compilen op board nodemcu, of de pinnen omnummeren naar de daadwerkelijke pin-nummers (terug te vinden @ bovenstaande link).
Helaas maken de definities geen verschil voor het resultaat. zowel nodemcu als nodemcuv2 als board type leveren niks op. Ook het swappen van TX/RX heeft geen resultaat, anders dan het feit dat ik op de TTL converter het andere ledje zie knipperen als de NMCU wat probeert te verzenden.

Ik heb geprobeerd om de platform: growatt_solar uit mijn code te halen en alleen met modbus_controller te werken. Dat levert niks op.

Andersom, als ik growatt_solar laat staan en de modbus controller weghaal eveneens geen resultaten.

Ik krijg gewoon op geen enkele manier een reactie en ik snap niet wat er mist.

Afbeeldingslocatie: https://tweakers.net/i/Kl2sGkEjugi2fUr50IISGnLzEz0=/232x232/filters:strip_icc():strip_exif()/f/image/fKhWSdqRad3aFIYv1WdSoX2O.jpg?f=fotoalbum_tileAfbeeldingslocatie: https://tweakers.net/i/V53prstZnNqmcYKp3gpyOJ5FiY8=/232x232/filters:strip_icc():strip_exif()/f/image/PnjhoZGoAGMk1Q2kq8DeAG0G.jpg?f=fotoalbum_tile


Dit is de nodemcu die ik gebruik. Dit is een ESP8266 variant dus ik kan geen esp32 truukjes gebruiken helaas.

Over die stekker: die is dus echt niet te vinden, zelfs niet op Aliexpress. Dit is weer een hele speciale, die schema's in de handleiding kloppen denk ik qua pinout wel maar niet qua keying:

Afbeeldingslocatie: https://tweakers.net/i/-FZaDzB8femaIje5TCLzaVcb40c=/800x/filters:strip_icc():strip_exif()/f/image/GUp3jE6SLEHUhx5ENO2M9cs5.jpg?f=fotoalbum_large

Alle stekkers die ik op Ali kan vinden zijn rond van vorm, deze is dat dus niet (meer)

Kia E-Niro 2019 Executiveline. OTGW/HA Enthousiasteling.


Acties:
  • 0 Henk 'm!

  • Foofur
  • Registratie: Januari 2024
  • Laatst online: 05-06 16:40
Dutchess_Nicole schreef op woensdag 7 februari 2024 @ 08:45:
[...]


Dat kan alleen als je een Shinewhatever stick hebt. Die heb ik niet, dus er valt niks door te sturen.
Ok, maar die draadloze lan adapter kost iets van 35euro (niet de stick) en dat werkt eigenlijk direct. Plus er is geen verbinding met de Chinezen.

Wat ben je nu al niet kwijt aan onderdelen en energie?

[ Voor 9% gewijzigd door Foofur op 07-02-2024 19:19 ]


Acties:
  • 0 Henk 'm!

  • brxm
  • Registratie: Augustus 2006
  • Laatst online: 06-06 09:19
Ik kan die stekker nu ook niet meer vinden.

Deze die lijkt er op maar ik ben niet zeker of het de goede is.

De mijne is een vpds06ep-8p en dit is een -6p

https://www.kleinanzeigen...er-neu/2489869995-87-3718

't Is een oude advertentie maar hij staat er nog, een mailtje er aan wagen kost niks. Of je mailt Growatt Nederland BV.

Acties:
  • +1 Henk 'm!

  • Dutchess_Nicole
  • Registratie: Augustus 2001
  • Laatst online: 10:58
Foofur schreef op woensdag 7 februari 2024 @ 19:16:
[...]


Ok, maar die draadloze lan adapter kost iets van 35euro (niet de stick) en dat werkt eigenlijk direct. Plus er is geen verbinding met de Chinezen.

Wat ben je nu al niet kwijt aan onderdelen en energie?
Hoeveel tijd en moeite het kost is natuurlijk niet echt relevant. Als ik het gemakkelijk op wou lossen zou ik het 1) niet op het Tweakers forum vragen en 2) allang een wifi stick gekocht hebben en er klaar mee zijn.

Ik ben juist geinterresseerd om dit werkend te krijgen zodat ik het in mijn HA kan integreren. Tweaken mag wat moeite kosten.

En qua hardware: ik heb dat spul toch allemaal al liggen. Als het in een lade ligt kost het me net zoveel. Kan ik net zo goed proberen het ergens voor in te zetten, toch?

Kia E-Niro 2019 Executiveline. OTGW/HA Enthousiasteling.


Acties:
  • 0 Henk 'm!

  • brambo123
  • Registratie: December 2006
  • Laatst online: 13:19
Misschien kan @Growatt ook wel meer vertellen over de connector.

Acties:
  • 0 Henk 'm!

  • Growatt
  • Registratie: Maart 2023
  • Laatst online: 21-05 09:39

Growatt

Bedrijfsaccount Growatt
Stekkers kunnen inderdaad bij ons (Growatt NL) nabesteld worden. Hiervoor kan je het beste een mailtje sturen naar: service.nl@ginverter.com

Onze collega's van de support afdeling kunnen je exact vertellen wat de kosten hiervoor zijn.

Graag ook een foto van de aansluiting aan de mail toevoegen, zodat we zeker weten dat we de juiste stekker opsturen.

Acties:
  • +3 Henk 'm!

  • Dutchess_Nicole
  • Registratie: Augustus 2001
  • Laatst online: 10:58
Nice, ik zal inderdaad even ergens de komende week een mailtje sturen over die stekker.

Inmiddels heb ik het werkend met een nieuwe MAX485-TTL converter en een Adafruit HUZZAH die ik nog had liggen. Totale kosten: 3 euro. Doen we het voor denk ik.

De connectie met de inverter is nu het meest fragiele stukje dus daar gaat die connector zeker wel bij helpen.

Mijn werkende code op de HUZZAH voor evt. toekomstige bezoekers:

YAML:
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
substitutions:
  devicename: growatt-3000tl-x

esphome:
  name: growatt-esphome-huzzah
  friendly_name: growatt-esp-huzzah

esp8266:
  board: huzzah

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: ""

ota:
  password: ""

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

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esphome-Web-3D3B45"
    password: ""

captive_portal:

web_server:
  port: 80

time:
  - platform: homeassistant
    id: homeassistant_time

uart:
  id: gw_uart
  baud_rate: 9600
  tx_pin: GPIO1
  rx_pin: GPIO3

modbus:
  id: modbus1
  uart_id: gw_uart

modbus_controller:
  - id: growatt
    address: 0x01
    modbus_id: modbus1
    setup_priority: -10
    update_interval: 15s

sensor:
  - platform: modbus_controller
    name: "${devicename} DcPower"
    address: 5
    register_type: "read"
    unit_of_measurement: W
    device_class: power
    icon: mdi:flash
    value_type: U_DWORD
    accuracy_decimals: 1
    filters:
    - multiply: 0.1
        
  - platform: modbus_controller
    name: "${devicename} DcVoltage"
    address: 3
    register_type: "read"
    unit_of_measurement: V
    device_class: voltage
    icon: mdi:flash
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
    - multiply: 0.1
    
  - platform: modbus_controller
    name: "${devicename} DcInputCurrent"
    address: 4
    register_type: "read"
    unit_of_measurement: A
    device_class: current
    icon: mdi:flash
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
    - multiply: 0.1
    
  - platform: modbus_controller
    name: "${devicename} AcFrequency"
    address: 37
    register_type: "read"
    unit_of_measurement: Hz
    icon: mdi:flash
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
    - multiply: 0.01
  
  - platform: modbus_controller
    name: "${devicename} AcVoltage"
    address: 38
    register_type: "read"
    unit_of_measurement: V
    device_class: voltage
    icon: mdi:flash
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
    - multiply: 0.1
  
  - platform: modbus_controller
    name: "${devicename} AcOutputCurrent"
    address: 39
    register_type: "read"
    unit_of_measurement: A
    device_class: current
    icon: mdi:flash
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
    - multiply: 0.1
    
  - platform: modbus_controller
    name: "${devicename} AcPower"
    address: 40
    register_type: "read"
    unit_of_measurement: W
    device_class: power
    icon: mdi:flash
    value_type: U_DWORD
    accuracy_decimals: 1
    filters:
    - multiply: 0.1
    
  - platform: modbus_controller
    name: "${devicename} EnergyToday"
    address: 53
    register_type: "read"
    unit_of_measurement: kWh
    device_class: energy
    icon: mdi:flash
    value_type: U_DWORD
    accuracy_decimals: 1
    filters:
    - multiply: 0.1
    
  - platform: modbus_controller
    name: "${devicename} EnergyTotal"
    address: 55
    register_type: "read"
    unit_of_measurement: kWh
    state_class: total_increasing
    device_class: energy
    icon: mdi:flash
    value_type: U_DWORD
    accuracy_decimals: 1
    filters:
    - multiply: 0.1

    
  - platform: modbus_controller
    name: "${devicename} Temperature"
    address: 3093
    register_type: "read"
    unit_of_measurement: C
    device_class: temperature
    icon: mdi:thermometer
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
    - multiply: 0.1

switch:
  - platform: modbus_controller
    name: "${devicename} Enabled"
    address: 0
    register_type: coil

number:
  - platform: modbus_controller
    name: "${devicename} MaxOutputPct"
    address: 3
    value_type: U_WORD
    min_value: 0
    max_value: 100
    entity_category: config

[ Voor 3% gewijzigd door Dutchess_Nicole op 29-02-2024 13:26 . Reden: Ook even de controls erbij gezet ]

Kia E-Niro 2019 Executiveline. OTGW/HA Enthousiasteling.


Acties:
  • 0 Henk 'm!

  • pvhpsb
  • Registratie: Maart 2008
  • Laatst online: 14-02 16:45
Nicole,
Bedankt voor je configuratie. Werkt ook 'nodemcu'. Ik kan mijn .mic3300tl-x regelen van 0 t/m 100%.
Maar toch nog een vraagje, als ik hem uitzet met het commando kan ik hem niet meer aanzetten of is dir normaal? Mvg Patrick

  • Dutchess_Nicole
  • Registratie: Augustus 2001
  • Laatst online: 10:58
Of dat normaal is kan ik niet zeggen: ik heb die enabled eerlijk gezegd nog niet gebruikt. Maar bij een kleine test hier lijkt het inderdaad een one-way setting te zijn. Na uitzetten gaat deze inderdaad niet weer aan.

code:
1
2
3
4
5
6
7
8
9
10
11
13:20:23    [W] [component:214] Component modbus_controller took a long time for an operation (0.14 s).

13:20:23    [W] [component:215] Components should block for at most 20-30ms.

13:20:23    [D] [modbus:119]    Modbus error function code: 0x86 exception: 1

13:20:23    [E] [modbus_controller:091] Modbus error function code: 0x6 exception: 1 

13:20:23    [E] [modbus_controller:095] Modbus error - last command: function code=0x6  register address = 0x0  registers count=1 payload size=2

13:20:23    [W] [component:214] Component modbus took a long time for an operation (0.19 s).


Het lijkt erop dat de verkeerde payload heen en weer wordt gestuurd waardoor het aanzetten niet lukt.

Gevonden: het type register van de switch is verkeerd: ipv een holding register moet het een coil (=1bit) register zijn.

YAML:
1
2
3
4
5
switch:
  - platform: modbus_controller
    name: "${devicename} Enabled"
    address: 0
    register_type: coil


Hier de RTU docs voor het geval iemand er nog wat anders mee wil doen: https://github.com/nygma2...RTU%20Protocol%20v120.pdf

[ Voor 76% gewijzigd door Dutchess_Nicole op 29-02-2024 13:27 ]

Kia E-Niro 2019 Executiveline. OTGW/HA Enthousiasteling.


  • brxm
  • Registratie: Augustus 2006
  • Laatst online: 06-06 09:19
Dat is wel raar want in het door jou aangehaalde (en bij mij ook bekende) document staat duidelijk dat het een holding register is, en even daarboven staat dat elk holding register een 2-bytes unsigned integer is.

  • Dutchess_Nicole
  • Registratie: Augustus 2001
  • Laatst online: 10:58
brxm schreef op donderdag 29 februari 2024 @ 13:41:
Dat is wel raar want in het door jou aangehaalde (en bij mij ook bekende) document staat duidelijk dat het een holding register is, en even daarboven staat dat elk holding register een 2-bytes unsigned integer is.
Klopt, ik snap ook niet waarom dit zo zou moeten zijn, volgens de docs moet het register gewoon type holding zijn.. Maar the proof of the pudding is in the eating, en met register type coil krijg ik geen fout en gaat de inverter netjes weer aan. Dus documentatie of niet; de fix is een ander registertype.

Kia E-Niro 2019 Executiveline. OTGW/HA Enthousiasteling.


Acties:
  • 0 Henk 'm!

  • pvhpsb
  • Registratie: Maart 2008
  • Laatst online: 14-02 16:45
Het lukt mij nog niet.

[16:44:39][D][modbus_controller.sensor:025]: Sensor new state: 285.00
[16:44:39][D][sensor:093]: 'mic3300tl-x Temperature': Sending state 28.50000 C with 1 decimals of accuracy
[16:44:50][D][switch:012]: 'mic3300tl-x Enabled' Turning ON.
[16:44:50][D][switch:055]: 'mic3300tl-x Enabled': Sending state ON
[16:44:52][W][modbus_controller:030]: Modbus device=1 set offline
[16:44:52][D][modbus_controller:040]: Modbus command to device=1 register=0x00 countdown=0 no response received - removed from send queue
[16:44:54][D][modbus_controller:040]: Modbus command to device=1 register=0x00 countdown=0 no response received - removed from send queue
[16:44:54][W][modbus_controller:064]: Modbus device=1 back online
[16:44:54][D][modbus.number:023]: Number new state : 100.00
[16:44:54][D][number:012]: 'mic3300tl-x MaxOutputPct': Sending state 100.000000
[16:44:54][D][modbus_controller.sensor:025]: Sensor new state: 2533.00

16:46:09][D][modbus_controller.sensor:025]: Sensor new state: 286.00
[16:46:09][D][sensor:093]: 'mic3300tl-x Temperature': Sending state 28.60000 C with 1 decimals of accuracy
[16:46:16][D][switch:016]: 'mic3300tl-x Enabled' Turning OFF.
[16:46:16][D][switch:055]: 'mic3300tl-x Enabled': Sending state OFF
[16:46:17][W][modbus_controller:030]: Modbus device=1 set offline
[16:46:17][D][modbus_controller:040]: Modbus command to device=1 register=0x00 countdown=0 no response received - removed from send queue
[16:46:24][D][modbus_controller:040]: Modbus command to device=1 register=0x00 countdown=0 no response received - removed from send queue
[16:46:24][W][modbus_controller:064]: Modbus device=1 back online
[16:46:24][D][modbus.number:023]: Number new state : 100.00
[16:46:24][D][number:012]: 'mic3300tl-x MaxOutputPct': Sending state 100.000000
[16:46:24][D][modbus_controller.sensor:025]: Sensor new state: 2553.00

Acties:
  • 0 Henk 'm!

  • Dutchess_Nicole
  • Registratie: Augustus 2001
  • Laatst online: 10:58
pvhpsb schreef op zaterdag 2 maart 2024 @ 16:48:
Het lukt mij nog niet.

[16:44:39][D][modbus_controller.sensor:025]: Sensor new state: 285.00
[16:44:39][D][sensor:093]: 'mic3300tl-x Temperature': Sending state 28.50000 C with 1 decimals of accuracy
[16:44:50][D][switch:012]: 'mic3300tl-x Enabled' Turning ON.
[16:44:50][D][switch:055]: 'mic3300tl-x Enabled': Sending state ON
[16:44:52][W][modbus_controller:030]: Modbus device=1 set offline
[16:44:52][D][modbus_controller:040]: Modbus command to device=1 register=0x00 countdown=0 no response received - removed from send queue
[16:44:54][D][modbus_controller:040]: Modbus command to device=1 register=0x00 countdown=0 no response received - removed from send queue
[16:44:54][W][modbus_controller:064]: Modbus device=1 back online
[16:44:54][D][modbus.number:023]: Number new state : 100.00
[16:44:54][D][number:012]: 'mic3300tl-x MaxOutputPct': Sending state 100.000000
[16:44:54][D][modbus_controller.sensor:025]: Sensor new state: 2533.00

16:46:09][D][modbus_controller.sensor:025]: Sensor new state: 286.00
[16:46:09][D][sensor:093]: 'mic3300tl-x Temperature': Sending state 28.60000 C with 1 decimals of accuracy
[16:46:16][D][switch:016]: 'mic3300tl-x Enabled' Turning OFF.
[16:46:16][D][switch:055]: 'mic3300tl-x Enabled': Sending state OFF
[16:46:17][W][modbus_controller:030]: Modbus device=1 set offline
[16:46:17][D][modbus_controller:040]: Modbus command to device=1 register=0x00 countdown=0 no response received - removed from send queue
[16:46:24][D][modbus_controller:040]: Modbus command to device=1 register=0x00 countdown=0 no response received - removed from send queue
[16:46:24][W][modbus_controller:064]: Modbus device=1 back online
[16:46:24][D][modbus.number:023]: Number new state : 100.00
[16:46:24][D][number:012]: 'mic3300tl-x MaxOutputPct': Sending state 100.000000
[16:46:24][D][modbus_controller.sensor:025]: Sensor new state: 2553.00
no response received - removed from send queue
Dit is wel een hele andere fout. Jouw inverter reageert in 't geheel niet op dit command.

Overigens was ik iets te enthousiast met mijn opmerking dat de inverter netjes weer aan gaat: de inverter geeft netjes antwoord dat hij uit standby gaat, maar dat doet die dus mooi niet.

Het ding blijft in standby tot ik echt de stroom eraf haal.

Dus ook de coil optie doet niks. Ik denk dat ik die enabled er maar gewoon helemaal uit haal en alleen de max_pct input gebruik. Die doet het dus wel goed.

Kia E-Niro 2019 Executiveline. OTGW/HA Enthousiasteling.


Acties:
  • 0 Henk 'm!

  • JeJeBe
  • Registratie: Januari 2018
  • Laatst online: 30-05 20:32

JeJeBe

KIA EV6 GT-Line AWD MY22

Het "setten" van het outputpercentage werkt op mijn Growatt 3000 MTL niet zoals je zou verwachten.
Welke stukje yaml ik ook gebruik (met of zonder de lambda), de waarde wordt door de inverter direct na het schrijven weer op 100% gezet. Zie de log hieronder. Heeft iemand een idee hoe dat kan ? Ik gebruik een originele ShineWifi-S die ik naar ESPhome heb omgezet. Het uitlezen van de waarden zoals dagtotaal en actuele productiecijfers werkt zonder problemen.

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
[11:25:24][D][number:054]: 'PV inverter Power factor Growatt 3000' - Setting number value
[11:25:24][D][number:113]:   New number value: 50.000000
[11:25:24][D][main:155]: Modbus Number incoming value = 50.000000
[11:25:24][V][modbus.number:039]: Value overwritten by lambda
[11:25:24][D][modbus.number:059]: Updating register: connected Sensor=PV inverter Power factor Growatt 3000 start address=0x3 register count=1 new value=50.00 (val=50.00)
[11:25:24][D][number:012]: 'PV inverter Power factor Growatt 3000': Sending state 50.000000
[11:25:24][VV][api.service:260]: send_number_state_response: NumberStateResponse {
  key: 3581769340
  state: 50
  missing_state: NO
}
[11:25:24][V][modbus_controller:046]: Sending next modbus command to device 1 register 0x03 count 1
[11:25:24][VV][uart.arduino_esp8266:196]:     Flushing...
[11:25:24][V][modbus:199]: Modbus write: 01.06.00.03.00.32.F8.1F (8)
[11:25:24][V][modbus_controller:509]: Command sent 6 0x3 1
[11:25:24][V][modbus:042]: Modbus received Byte  1 (0X1)
[11:25:24][V][modbus:042]: Modbus received Byte  6 (0X6)
[11:25:24][V][modbus:042]: Modbus received Byte  0 (0X0)
[11:25:24][V][modbus:042]: Modbus received Byte  3 (0X3)
[11:25:24][V][modbus:042]: Modbus received Byte  0 (0X0)
[11:25:24][V][modbus:042]: Modbus received Byte  50 (0X32)
[11:25:24][V][modbus:042]: Modbus received Byte  248 (0Xf8)
[11:25:24][V][modbus:042]: Modbus received Byte  31 (0X1f)
[11:25:24][V][modbus_controller:078]: Modbus response queued
[11:25:24][V][modbus_controller:085]: Process modbus response for address 0x3 size: 4
[11:25:24][V][modbus_controller:331]: Command ACK 0x3 768 
[11:25:24][D][number:012]: 'PV inverter Power factor Growatt 3000': Sending state 50.000000
[11:25:24][VV][api.service:260]: send_number_state_response: NumberStateResponse {
  key: 3581769340
  state: 50
  missing_state: NO
}
[11:25:31][VV][scheduler:225]: Running interval '' with interval=10000 last_execution=30226 (now=40226)
[11:25:33][VV][scheduler:225]: Running interval 'update' with interval=30000 last_execution=12295 (now=42295)
[11:25:33][V][modbus_controller:181]: Updating modbus component
[11:25:33][VV][modbus_controller:185]: Updating range 0x3
[11:25:33][V][modbus_controller:147]: Range : 3 Size: 1 (3) skip: 0
[11:25:33][VV][modbus_controller:185]: Updating range 0x30
[11:25:33][V][modbus_controller:147]: Range : 30 Size: 2 (3) skip: 0
[11:25:33][V][modbus_controller:046]: Sending next modbus command to device 1 register 0x03 count 1
[11:25:33][VV][uart.arduino_esp8266:196]:     Flushing...
[11:25:33][V][modbus:199]: Modbus write: 01.03.00.03.00.01.74.0A (8)
[11:25:33][V][modbus_controller:509]: Command sent 3 0x3 1
[11:25:33][V][modbus:042]: Modbus received Byte  1 (0X1)
[11:25:33][V][modbus:042]: Modbus received Byte  3 (0X3)
[11:25:33][V][modbus:042]: Modbus received Byte  2 (0X2)
[11:25:33][V][modbus:042]: Modbus received Byte  0 (0X0)
[11:25:33][V][modbus:042]: Modbus received Byte  100 (0X64)
[11:25:33][V][modbus:042]: Modbus received Byte  185 (0Xb9)
[11:25:33][V][modbus:042]: Modbus received Byte  175 (0Xaf)
[11:25:33][V][modbus_controller:078]: Modbus response queued
[11:25:33][V][modbus_controller:085]: Process modbus response for address 0x3 size: 2
[11:25:33][V][modbus_controller:121]: data for register address : 0x3 : 
[11:25:33][V][modbus.number:019]: Value overwritten by lambda
[11:25:33][D][modbus.number:023]: Number new state : 100.00
[11:25:33][D][number:012]: 'PV inverter Power factor Growatt 3000': Sending state 100.000000
[11:25:33][VV][api.service:260]: send_number_state_response: NumberStateResponse {
  key: 3581769340
  state: 100
  missing_state: NO
}

Acties:
  • 0 Henk 'm!

  • georgeboot
  • Registratie: Oktober 2009
  • Nu online
Ik lees mijn Growatt (MOD 10KTL3-XH(BP)) uit via ESPHome op de shinewifi, maar krijg het niet helemaal lekker.

Zodra ik meer dan een handvol dingen uitlees, springen sommige waarden soms random naar 0, 1 of een hoog getal (rond max unsigned 16 bit int).

Is dit een bekend probleem? Ik probeer de soc, laadstroom en geladen/ontladen energie uit te lezen, maar deze getallen stuiteren steeds, waardoor home assistent steeds denkt dat ik een miljoen kWh per dag gebruik 🙄

Ik heb nog een WaveShare PoE liggen, werken die beter?

LG-HM091MR-U44 | 9000WP zuid plat dak


Acties:
  • 0 Henk 'm!

  • brambo123
  • Registratie: December 2006
  • Laatst online: 13:19
georgeboot schreef op maandag 27 mei 2024 @ 20:31:
Ik lees mijn Growatt (MOD 10KTL3-XH(BP)) uit via ESPHome op de shinewifi, maar krijg het niet helemaal lekker.

Zodra ik meer dan een handvol dingen uitlees, springen sommige waarden soms random naar 0, 1 of een hoog getal (rond max unsigned 16 bit int).

Is dit een bekend probleem? Ik probeer de soc, laadstroom en geladen/ontladen energie uit te lezen, maar deze getallen stuiteren steeds, waardoor home assistent steeds denkt dat ik een miljoen kWh per dag gebruik 🙄

Ik heb nog een WaveShare PoE liggen, werken die beter?
Ik lees zelf een MOD 6KTL3-XH (nog zonder accu) uit via de normale modbus aansluiting en zie ook wel eens rare waardes langs komen.
Dit met name op moment dat zonnepanelen uitgaan of aangaan, als de zon lekker schijnt is er niets aan de hand.
In mijn geval naar waardes rond 32 bit max, krijg je in ene bijna 430MW vermogen op AC, met 0W op DC :X
En niet 1 enkele uitlezing, ook soms half uur lang verkeerde data.
Ook wordt 's nachts AC spanning 0V of blijft die steken op laatste bekende waarde, dus hele nacht zelfde netspanning.
Zal dus waarschijnlijk firmware bug zijn.
Misschien weet @Growatt daar iets van?
Scheelt dat het bij mij redelijk op vast moment is, dus kan wel eens data capture doen om wat beter te kunnen analyseren.

Acties:
  • 0 Henk 'm!

  • Dutchess_Nicole
  • Registratie: Augustus 2001
  • Laatst online: 10:58
Even een update, sinds er laatst wat stuk ging met ESPhome en ik flink heb moeten hannessen om het weer werken te krijgen:

YAML:
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
substitutions:
  name: growatt-esp8266
  friendly_name: growatt-esp8266
  devicename: growatt-3000tl-x

esphome:
  name: ${name}
  friendly_name: ${friendly_name}
  name_add_mac_suffix: false
  project:
    name: esphome.web
    version: '1.0'

esp8266:
  board: esp01_1m
  restore_from_flash: true
  framework:
    version: latest

external_components:
  - source:
      type: git
      url: https://github.com:/martgras/esphome
      ref: modbus-queue
    components: [ modbus]
  - source:
      type: git
      url: https://github.com:/martgras/esphome
      ref: modbus-sendfix
    components: [modbus_controller]

# Enable logging
logger:
  level: WARN #makes uart stream available in esphome logstream
  baud_rate: 0 #disable logging over uart

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

api:
  encryption:
    key: "<key>"

ota:
  - platform: esphome
    password: "<password>"

# In combination with the `ap` this allows the user
# to provision wifi credentials to the device via WiFi AP.
captive_portal:

# To have a "next url" for improv serial
web_server:
  port: 80
  
time:
  - platform: homeassistant
    id: homeassistant_time

uart:
  id: gw_uart
  baud_rate: 9600
  tx_pin: GPIO5
  rx_pin: GPIO14
  parity: NONE
  stop_bits: 1
  # debug:
  #   direction: BOTH
  #   dummy_receiver: false
  #   after:
  #    delimiter: "\n"
  #   sequence:
  #     - lambda: UARTDebug::log_string(direction, bytes);

modbus:
  id: modbus1
  uart_id: gw_uart
  send_wait_time: 500ms
  # disable_crc: true

modbus_controller:
  - id: growatt
    ## the Modbus device addr
    address: 1
    modbus_id: modbus1
    setup_priority: -10  
    update_interval: 5s

sensor:
  - platform: modbus_controller
    address: 0
    register_type: "read"
    internal: true
    id: status

  - platform: modbus_controller
    name: "${devicename} DcPower"
    address: 5
    register_type: "read"
    unit_of_measurement: W
    device_class: power
    icon: mdi:flash
    value_type: U_DWORD
    accuracy_decimals: 1
    filters:
    - multiply: 0.1
        
  - platform: modbus_controller
    name: "${devicename} DcVoltage"
    address: 3
    register_type: "read"
    unit_of_measurement: V
    device_class: voltage
    icon: mdi:flash
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
    - multiply: 0.1
    
  - platform: modbus_controller
    name: "${devicename} DcInputCurrent"
    address: 4
    register_type: "read"
    unit_of_measurement: A
    device_class: current
    icon: mdi:flash
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
    - multiply: 0.1
    
  - platform: modbus_controller
    name: "${devicename} AcFrequency"
    address: 37
    register_type: "read"
    unit_of_measurement: Hz
    icon: mdi:flash
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
    - multiply: 0.01
  
  - platform: modbus_controller
    name: "${devicename} AcVoltage"
    address: 38
    register_type: "read"
    unit_of_measurement: V
    device_class: voltage
    icon: mdi:flash
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
    - multiply: 0.1
  
  - platform: modbus_controller
    name: "${devicename} AcOutputCurrent"
    address: 39
    register_type: "read"
    unit_of_measurement: A
    device_class: current
    icon: mdi:flash
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
    - multiply: 0.1
    
  - platform: modbus_controller
    name: "${devicename} AcPower"
    address: 35
    register_type: "read"
    unit_of_measurement: W
    device_class: power
    icon: mdi:flash
    value_type: U_DWORD
    accuracy_decimals: 1
    filters:
    - multiply: 0.1
    
  - platform: modbus_controller
    name: "${devicename} EnergyToday"
    address: 53
    register_type: "read"
    unit_of_measurement: kWh
    device_class: energy
    icon: mdi:flash
    value_type: U_DWORD
    accuracy_decimals: 1
    filters:
    - multiply: 0.1
    
  - platform: modbus_controller
    name: "${devicename} EnergyTotal"
    address: 55
    register_type: "read"
    unit_of_measurement: kWh
    state_class: total_increasing
    device_class: energy
    icon: mdi:flash
    value_type: U_DWORD
    accuracy_decimals: 1
    filters:
    - multiply: 0.1

    
  - platform: modbus_controller
    name: "${devicename} Temperature"
    address: 3093
    register_type: "read"
    unit_of_measurement: C
    device_class: temperature
    icon: mdi:thermometer
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
    - multiply: 0.1

text_sensor:
  - platform: modbus_controller
    name: "${devicename} Firmware Version"
    address: 9
    register_count: 3
    register_type: holding
    internal: true
    entity_category: diagnostic

  - platform: template
    name: "${devicename} Status"
    icon: mdi:eye
    entity_category: diagnostic
    lambda: |-
      if (id(status).state == 1) {
        return {"Normal"};
      } else if (id(status).state == 0)  {
        return {"Waiting"};
      } else {
        return {"Fault!"};
      }
    internal: false

# select:
#   - platform: modbus_controller
#     id: onoffsel1
#     name: "${devicename} OnOffSel"
#     address: 0
#     value_type: U_WORD
#     icon: "mdi:toggle-switch"
#     internal: false
#     optionsmap:
#       "Off": 0
#       "On": 1

number:
  - platform: modbus_controller
    name: "${friendly_name} Max Output Power %"
    id: poweroutput
    address: 3
    value_type: U_WORD
    min_value: 0
    max_value: 100
    step: 1
    internal: false


Om de een of andere reden wouden de normale RX/TX pins niet meer werken dus heb ik twee andere gepakt, dat lijkt uiteindelijk nu te werken.

Ik liep ook ineens tegen CRC errors aan, zelfs met een 120Ohm weerstand, maar toen ik een 150Ohm weerstand toevoegde was het ineens prima. Go figure.

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

Dus nu heb ik het geheel in een klein boxje aan de muur hangen, naast de inverter zelf.
Afbeeldingslocatie: https://tweakers.net/i/10f1KPQpMUPvFWk6Ofmm2sV27JM=/800x/filters:strip_exif()/f/image/mZ3bgOgLqbe5EIvEnHlIL7QF.png?f=fotoalbum_large

En nu heb ik dus netjes mijn stats in HA. De 5s interval kan nog wel naar beneden, ik denk dat de inverter zelf wel elke seconde kan rapporteren, maar dit is prima voor mijn gebruik.

Kia E-Niro 2019 Executiveline. OTGW/HA Enthousiasteling.


Acties:
  • +3 Henk 'm!

  • brambo123
  • Registratie: December 2006
  • Laatst online: 13:19
Voor degene die ook uitlezing willen maar zonder teveel moeite...
De nieuwe ShineWiLan-X2 module heeft modbus TCP ingebouwd zitten.
Kun je rechtstreeks via netwerk uitlezen.

Acties:
  • 0 Henk 'm!

  • ruubert
  • Registratie: Juli 2005
  • Laatst online: 06-06 14:35
kaasmakert schreef op woensdag 1 november 2023 @ 13:10:
Korte kaping van dit topic. Ook ik was helemaal klaar met de Growatt cloud/app.

Als je niet wil knutselen met losse ESP en RS485 prints:

Je kunt de bestaande WiFi stick omflashen
Werkt zowel voor ShineWifi-S als ShineWifi-X, dus oude en nieuwe modellen.
Was voor mij verreweg de kortste route naar een robuuste en lokale oplossing, geheel los van Growatt.

In die stick zit een ESP8266 die je herprogrammeert.
Daarna dus geen verbinding meer met de Growatt cloud, maar gewoon alles via MQTT naar je eigen domotica systeem.

+Hergebruik van de bestaande WiFi stick
+Zit al een mooie behuizing omheen met status LED en losse WiFi antenne
+Webservertje met grafiek van PV data en configuratie van de stick (MQTT parameters enz.)
+Draait stabiel
-Niet mogelijk bij de LAN sticks
Dat werkt idd heel soepeltjes. Ik zit nog te knoeien met het instellen van de de mqtt data in Home assistant en hoe ik de power limiteer. Zou jij je yaml hierover willen delen?

Acties:
  • 0 Henk 'm!

  • kaasmakert
  • Registratie: November 2016
  • Laatst online: 03-06 16:23
ruubert schreef op maandag 11 november 2024 @ 09:04:

Dat werkt idd heel soepeltjes. Ik zit nog te knoeien met het instellen van de de mqtt data in Home assistant en hoe ik de power limiteer. Zou jij je yaml hierover willen delen?
Zeker, zie onder!
Inmiddels draait deze omgeflashte Wifi stick alweer ruim een jaar stabiel. Geen omkijken meer naar gehad, kan het iedereen aanraden. Vooral erg blij met de hogere update frequentie (5 sec).

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
mqtt:
    sensor:

      - name: "Growatt Status"
        unique_id: "growatt_status"
        state_topic: "energy/solar"
        value_template: "{{ value_json.InverterStatus }}"

      - name: "Growatt AC Voltage"
        unique_id: "growatt_ac_voltage"
        unit_of_measurement: "V"
        state_class: "measurement"
        device_class: "voltage"
        state_topic: "energy/solar"
        value_template: "{{ value_json.L1ThreePhaseGridVoltage }}"        
  
      - name: "Growatt AC Power"
        unique_id: "growatt_ac_power"
        unit_of_measurement: "W"
        state_class: "measurement"
        device_class: "power"
        state_topic: "energy/solar"
        value_template: "{{ value_json.OutputPower }}"              
      
      - name: "Growatt Energy Today"
        unique_id: "growatt_energy_today"
        unit_of_measurement: "kWh"
        state_class: "total_increasing"
        device_class: "energy"
        state_topic: "energy/solar"
        value_template: "{{ value_json.TodayGenerateEnergy }}"  
      
      - name: "Growatt Energy Total"
        unique_id: "growatt_energy_total"
        unit_of_measurement: "kWh"
        state_class: "total_increasing"
        device_class: "energy"
        state_topic: "energy/solar"
        value_template: "{{ value_json.TotalGenerateEnergy }}"       
      
      - name: "Growatt Temperature"
        unique_id: "growatt_temperature"
        unit_of_measurement: "°C"
        state_class: "measurement"
        device_class: "temperature"
        state_topic: "energy/solar"
        value_template: "{{ value_json.InverterTemperature }}"

All-Electric sinds 2018 | 7kW Panasonic Monoblock | 2x Marstek 5kWh thuisaccu | 11kWp PV


Acties:
  • 0 Henk 'm!

  • firecaps30
  • Registratie: September 2011
  • Laatst online: 12:21
brambo123 schreef op donderdag 7 november 2024 @ 12:37:
Voor degene die ook uitlezing willen maar zonder teveel moeite...
De nieuwe ShineWiLan-X2 module heeft modbus TCP ingebouwd zitten.
Kun je rechtstreeks via netwerk uitlezen.
Heb je hier meer info over, of een linkje? Sta op het punt een RS485-Ethernet converter te bestellen en daarmee te rommelen, maar als het met die nieuwe stick ook werkt..

Kun je ook naar de registers schrijven via die stick?

Acties:
  • +1 Henk 'm!

  • brambo123
  • Registratie: December 2006
  • Laatst online: 13:19
firecaps30 schreef op maandag 11 november 2024 @ 21:12:
[...]


Heb je hier meer info over, of een linkje? Sta op het punt een RS485-Ethernet converter te bestellen en daarmee te rommelen, maar als het met die nieuwe stick ook werkt..

Kun je ook naar de registers schrijven via die stick?
Veel info is er nog niet te vinden.
Heb er zelf een paar, maar verkrijgbaarheid valt nog wat tegen.
Maar ESTG heeft een paar op voorraad.
Maar is groothandel, dus kun je niet zo bestellen.
Beste kun je misschien even een wat grotere online handelaar vragen.
Kan kijken of via mijn werk wat kan regelen, maar dan kom je denk ik op 40 euro uit.

Registers schrijven zou moeten werken, growatt adverteert zelf met:
Third-Party Control: Future-proof your system with MODBUS TCP availability, making it easy to integrate with SCADA control systems
Zou morgen wel even snel kunnen testen.

Acties:
  • 0 Henk 'm!

  • sjorsjuhmaniac
  • Registratie: Februari 2009
  • Laatst online: 13:23
De huidige stick kan toch ook al die data schrijven ? Als je via het panel naar Advanced gaat kan je registers lezen en schrijven. Dat is alleen niet via modbus.

Acties:
  • 0 Henk 'm!

  • brambo123
  • Registratie: December 2006
  • Laatst online: 13:19
sjorsjuhmaniac schreef op maandag 11 november 2024 @ 22:25:
De huidige stick kan toch ook al die data schrijven ? Als je via het panel naar Advanced gaat kan je registers lezen en schrijven. Dat is alleen niet via modbus.
Klopt, maar bij de meeste zal het meer zijn om vermogen te regelen, dat wil je realtime.

Acties:
  • 0 Henk 'm!

  • Beekforel
  • Registratie: November 2001
  • Laatst online: 12:07

Beekforel

Is eigenlijk geen vis

Ik kan dat met mijn beide naar ESPHome geflashte Shine sticks en volgens mij is dat realtime. Ik kan de output limiteren in een percentage.

[edit] Om ook daadwerkelijk wat toe te voegen aan het topic, dit is de yaml die ik gebruik (voor de 3 fase variant, voor 1 fase kun je de andere 2 eruit halen). Ik maak gebruik van een package waarin ik de de basissettings voor al m'n esp devices regel, die kun je hier natuurlijk ook toevoegen.

YAML:
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
---
substitutions:
  devicename: growatt2
  upper_devicename: Growatt2
  wifi_ap_password: !secret ap_password
  api_password: !secret api_password
  ota_password: !secret ota_password
    
packages:
  device_base: !include packages/device_base.yaml
  
esphome:
  name: $devicename
  
esp8266:
  board: esp07s
  
logger:
  baud_rate: 0

# Device Specific Config
uart:
  - id: gw_uart
    baud_rate: 115200
    tx_pin: GPIO1
    rx_pin: GPIO3

modbus:
  uart_id: gw_uart
  flow_control_pin: GPIO4

modbus_controller:
  id: modbus${devicename}

sensor:
  - platform: growatt_solar
    update_interval: 10s
    protocol_version: RTU2

    inverter_status:
      name: "${upper_devicename} Status Code"

    phase_a:
      voltage:
          name: "${upper_devicename} Voltage Phase A"
      current:
          name: "${upper_devicename} Current Phase A"
      active_power:
          name: "${upper_devicename} Power Phase A"
    phase_b:
      voltage:
          name: "${upper_devicename} Voltage Phase B"
      current:
          name: "${upper_devicename} Current Phase B"
      active_power:
          name: "${upper_devicename} Power Phase B"
    phase_c:
      voltage:
          name: "${upper_devicename} Voltage Phase C"
      current:
          name: "${upper_devicename} Current Phase C"
      active_power:
          name: "${upper_devicename} Power Phase C"

    pv1:
      voltage:
          name: "${upper_devicename} PV1 Voltage"
      current:
          name: "${upper_devicename} PV1 Current"
      active_power:
          name: "${upper_devicename} PV1 Active Power"

    pv2:
      voltage:
          name: "${upper_devicename} PV2 Voltage"
      current:
          name: "${upper_devicename} PV2 Current"
      active_power:
          name: "${upper_devicename} PV2 Active Power"

    active_power:
      name: "${upper_devicename} Grid Active Power"

    pv_active_power:
      name: "${upper_devicename} PV Active Power"

    frequency:
      name: "${upper_devicename} Frequency"

    energy_production_day:
      name: "${upper_devicename} Today's Generation"

    total_energy_production:
      name: "${upper_devicename} Total Energy Production"

    inverter_module_temp:
      name: "${upper_devicename} Inverter Module Temp"

  - platform: modbus_controller
    modbus_controller_id: modbus${devicename}
#    
#  sensor returning the currently set limit read from the register for showing it in HA
#
    name: "${upper_devicename} Output Limit"
    id: limit_set
    register_type: holding
    address: 3
    unit_of_measurement: "%"
    value_type: U_WORD

number:
  - platform: modbus_controller
    modbus_controller_id: modbus${devicename}
#
#  creating a number entity and it's corresponding slider in HA
#  and writes it to the register on change
#
    name: "${upper_devicename} Output Limit pct"
    id: limit
    address: 3
    register_type: holding
    value_type: U_WORD
    min_value: 10
    max_value: 100
    step: 1

[ Voor 92% gewijzigd door Beekforel op 12-11-2024 09:00 ]


Acties:
  • 0 Henk 'm!

  • firecaps30
  • Registratie: September 2011
  • Laatst online: 12:21
brambo123 schreef op dinsdag 12 november 2024 @ 08:25:
[...]

Klopt, maar bij de meeste zal het meer zijn om vermogen te regelen, dat wil je realtime.
Inderdaad, daar wil ik uiteindelijk mee gaan experimenteren.

Acties:
  • 0 Henk 'm!

  • firecaps30
  • Registratie: September 2011
  • Laatst online: 12:21
brambo123 schreef op maandag 11 november 2024 @ 22:02:
[...]

Veel info is er nog niet te vinden.
Heb er zelf een paar, maar verkrijgbaarheid valt nog wat tegen.
Maar ESTG heeft een paar op voorraad.
Maar is groothandel, dus kun je niet zo bestellen.
Beste kun je misschien even een wat grotere online handelaar vragen.
Kan kijken of via mijn werk wat kan regelen, maar dan kom je denk ik op 40 euro uit.

Registers schrijven zou moeten werken, growatt adverteert zelf met:

[...]

Zou morgen wel even snel kunnen testen.
Als je het zou willen proberen, graag! En als je er eentje kunt krijgen dan wil ik deze wel over kopen van je. Heb er tot nu toe nog geen 1 te koop kunnen vinden voor consumenten.

Acties:
  • +1 Henk 'm!

  • ruubert
  • Registratie: Juli 2005
  • Laatst online: 06-06 14:35
Bedankt @kaasmakert , Ik heb nu een bak vol info!Afbeeldingslocatie: https://tweakers.net/i/jbSaaxcBMGSSTGk8JZvPjO6c_P4=/800x/filters:strip_exif()/f/image/aFApZoSR5olPJ07XSdJD5JxN.png?f=fotoalbum_large

Ik kan inmiddels ook de output limiteren (handig om de terugleverboete te voorkomen. Zelfs de batterij kun je instellen. Ben van plan om binnenkort deze aan te schaffen. Hieronder wat basis automations die ik nog moet gaan tunen voor dynamisch limiteren van output enzo.

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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#########################################################
#                                                       #
#         GROWATT.                                      #
#                                                       #
#########################################################

  - alias: Growatt set active rate
    description: "set active rate %"
    triggers:
      - trigger: event
        event_type: ""
    conditions: []
    actions:
      - action: mqtt.publish
        data:
          qos: "1"
          topic: energy/solar/command/power/set/activerate
          payload: |-
            {
              "correlationId": "set_activerate",
              "value": "{{ states('input_number.growatt_power')| round(0) }}"
            }
    mode: single


  - alias: Growatt Set inverter date/time
    description: "update time"
    triggers:
      - trigger: time_pattern
        enabled: true
        hours: "*"
    conditions: []
    actions:
      - action: mqtt.publish
        data:
          qos: "1"
          topic: energy/solar/command/datetime/set
          payload: |
            {
            "correlationId": "ha-datetime-set",
            "value": "{{ now().strftime('%Y-%m-%d %H:%M:%S') }}"
            }
    mode: single


  - alias: Growatt - Set timeslot
    description: "set timeslot"
    triggers:
      - trigger: event
        event_type: ""
    conditions: []
    actions:
      - action: mqtt.publish
        data:
          qos: "1"
          topic: energy/solar/command/batteryfirst/set/timeslot
          payload: |
            { 
            "correlationId": "set-timeslot", 
            "slot": 1, 
            "start": "{{ states('input_datetime.input_datetime_growatt_batteryfirst_slot1_start_time')[:5] }}", 
            "stop": "{{ states('input_datetime.input_datetime_growatt_batteryfirst_slot1_stop_time')[:5] }}", 
            "enabled": {{ is_state('input_boolean.growatt_batteryfirst_slot1_enabled', 'on') | lower }}
            }
      - action: mqtt.publish
        data:
          qos: "1"
          topic: energy/solar/command/batteryfirst/set/acchargeenabled
          payload: |
            { 
            "correlationId": "set-acchargeenabled", 
            "value": {{ is_state('input_boolean.growatt_batteryfirst_accharge_enabled', 'on') | lower }}
            }
    mode: single
    
    
  - alias: Growatt Set inverter date/time
    description: "update time"
    triggers:
      - trigger: time_pattern
        enabled: true
        hours: "*"
    conditions: []
    actions:
      - action: mqtt.publish
        data:
          qos: "1"
          topic: energy/solar/command/datetime/set
          payload: |
            {
            "correlationId": "ha-datetime-set",
            "value": "{{ now().strftime('%Y-%m-%d %H:%M:%S') }}"
            }
    mode: single

  - alias: Growatt Get inverter date/time
    description: ""
    triggers:
      - trigger: time_pattern
        minutes: "*"
    conditions: []
    actions:
      - action: mqtt.publish
        data:
          qos: "1"
          topic: energy/solar/command/datetime/get
          payload: "{\"correlationId\": \"ha-datetime-get\"}"
    mode: single

  - alias: Growatt Get Battery
    description: ""
    triggers:
      - trigger: time_pattern
        minutes: "*"
    conditions: []
    actions:
      - action: mqtt.publish
        data:
          qos: "1"
          topic: energy/solar/command/gridfirst/get
          payload: "{}"
    mode: single


#########################################################
#                                                       #
#            END OF CONFIGURATION FILE                  #
#                                                       #
#########################################################


Voor anderen: de basis staat hier https://github.com/OpenInverterGateway/OpenInverterGateway

De documentatie is nogal 'basic' maar de software werkt super. Het is aan te raden om de MQTT explorer te gebruiken om alles goed op HA te kunnen volgen.

Acties:
  • +1 Henk 'm!

  • brambo123
  • Registratie: December 2006
  • Laatst online: 13:19
firecaps30 schreef op dinsdag 12 november 2024 @ 14:46:
[...]


Als je het zou willen proberen, graag! En als je er eentje kunt krijgen dan wil ik deze wel over kopen van je. Heb er tot nu toe nog geen 1 te koop kunnen vinden voor consumenten.
Gisteravond even wat getest. (Handig dat die hybride omvormers 's nachts niet uitgaan :9 )
Schijven van registers werkt ook gewoon.
Viel me wel op dat de modbus integratie van Home Assistant alleen kan schijven via actions.

Nou zat ik nog even bij ESTG te kijken.
Had hun verzendkosten nog niet gezien, ruim 15 euro :'(
Dus dan kom je eerder op 55 euro :o
En voorraad is ook op, 3-4 weken levertijd.
Zal zelf ook nog even rondkijken of er andere leveranciers zijn.

Update:
Als het goed is heeft solar-outlet ze met een paar dagen op de website staan.

[ Voor 5% gewijzigd door brambo123 op 13-11-2024 13:52 ]


Acties:
  • 0 Henk 'm!

  • sailor_dg
  • Registratie: Januari 2019
  • Laatst online: 08:28
Bij mij gebeurt er hetzelfde, het modbus commando wordt goed ontvangen:

[16:09:58][D][number:054]: 'MAX PV power' - Setting number value
[16:09:58][D][number:113]: New number value: 2.000000
[16:09:58][D][modbus.number:059]: Updating register: connected Sensor=MAX PV power start address=0x3 register count=1 new value=2.00 (val=2.00)

Was jij hier nog wat verder mee gekomen?
JeJeBe schreef op woensdag 22 mei 2024 @ 11:37:
Het "setten" van het outputpercentage werkt op mijn Growatt 3000 MTL niet zoals je zou verwachten.
Welke stukje yaml ik ook gebruik (met of zonder de lambda), de waarde wordt door de inverter direct na het schrijven weer op 100% gezet. Zie de log hieronder. Heeft iemand een idee hoe dat kan ? Ik gebruik een originele ShineWifi-S die ik naar ESPhome heb omgezet. Het uitlezen van de waarden zoals dagtotaal en actuele productiecijfers werkt zonder problemen.

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
[11:25:24][D][number:054]: 'PV inverter Power factor Growatt 3000' - Setting number value
[11:25:24][D][number:113]:   New number value: 50.000000
[11:25:24][D][main:155]: Modbus Number incoming value = 50.000000
[11:25:24][V][modbus.number:039]: Value overwritten by lambda
[11:25:24][D][modbus.number:059]: Updating register: connected Sensor=PV inverter Power factor Growatt 3000 start address=0x3 register count=1 new value=50.00 (val=50.00)
[11:25:24][D][number:012]: 'PV inverter Power factor Growatt 3000': Sending state 50.000000
[11:25:24][VV][api.service:260]: send_number_state_response: NumberStateResponse {
  key: 3581769340
  state: 50
  missing_state: NO
}
[11:25:24][V][modbus_controller:046]: Sending next modbus command to device 1 register 0x03 count 1
[11:25:24][VV][uart.arduino_esp8266:196]:     Flushing...
[11:25:24][V][modbus:199]: Modbus write: 01.06.00.03.00.32.F8.1F (8)
[11:25:24][V][modbus_controller:509]: Command sent 6 0x3 1
[11:25:24][V][modbus:042]: Modbus received Byte  1 (0X1)
[11:25:24][V][modbus:042]: Modbus received Byte  6 (0X6)
[11:25:24][V][modbus:042]: Modbus received Byte  0 (0X0)
[11:25:24][V][modbus:042]: Modbus received Byte  3 (0X3)
[11:25:24][V][modbus:042]: Modbus received Byte  0 (0X0)
[11:25:24][V][modbus:042]: Modbus received Byte  50 (0X32)
[11:25:24][V][modbus:042]: Modbus received Byte  248 (0Xf8)
[11:25:24][V][modbus:042]: Modbus received Byte  31 (0X1f)
[11:25:24][V][modbus_controller:078]: Modbus response queued
[11:25:24][V][modbus_controller:085]: Process modbus response for address 0x3 size: 4
[11:25:24][V][modbus_controller:331]: Command ACK 0x3 768 
[11:25:24][D][number:012]: 'PV inverter Power factor Growatt 3000': Sending state 50.000000
[11:25:24][VV][api.service:260]: send_number_state_response: NumberStateResponse {
  key: 3581769340
  state: 50
  missing_state: NO
}
[11:25:31][VV][scheduler:225]: Running interval '' with interval=10000 last_execution=30226 (now=40226)
[11:25:33][VV][scheduler:225]: Running interval 'update' with interval=30000 last_execution=12295 (now=42295)
[11:25:33][V][modbus_controller:181]: Updating modbus component
[11:25:33][VV][modbus_controller:185]: Updating range 0x3
[11:25:33][V][modbus_controller:147]: Range : 3 Size: 1 (3) skip: 0
[11:25:33][VV][modbus_controller:185]: Updating range 0x30
[11:25:33][V][modbus_controller:147]: Range : 30 Size: 2 (3) skip: 0
[11:25:33][V][modbus_controller:046]: Sending next modbus command to device 1 register 0x03 count 1
[11:25:33][VV][uart.arduino_esp8266:196]:     Flushing...
[11:25:33][V][modbus:199]: Modbus write: 01.03.00.03.00.01.74.0A (8)
[11:25:33][V][modbus_controller:509]: Command sent 3 0x3 1
[11:25:33][V][modbus:042]: Modbus received Byte  1 (0X1)
[11:25:33][V][modbus:042]: Modbus received Byte  3 (0X3)
[11:25:33][V][modbus:042]: Modbus received Byte  2 (0X2)
[11:25:33][V][modbus:042]: Modbus received Byte  0 (0X0)
[11:25:33][V][modbus:042]: Modbus received Byte  100 (0X64)
[11:25:33][V][modbus:042]: Modbus received Byte  185 (0Xb9)
[11:25:33][V][modbus:042]: Modbus received Byte  175 (0Xaf)
[11:25:33][V][modbus_controller:078]: Modbus response queued
[11:25:33][V][modbus_controller:085]: Process modbus response for address 0x3 size: 2
[11:25:33][V][modbus_controller:121]: data for register address : 0x3 : 
[11:25:33][V][modbus.number:019]: Value overwritten by lambda
[11:25:33][D][modbus.number:023]: Number new state : 100.00
[11:25:33][D][number:012]: 'PV inverter Power factor Growatt 3000': Sending state 100.000000
[11:25:33][VV][api.service:260]: send_number_state_response: NumberStateResponse {
  key: 3581769340
  state: 100
  missing_state: NO
}

All-electric | Deye 12KSG04LP3 met 2x Yixiang V2, 32x MB31 314 Ah | Panasonic Aquarea J 5kW | Tesla MY, SmartEVSE | 5.2 kWp PV | Proxmox met HomeAssistant, Docker host, PfSense


Acties:
  • 0 Henk 'm!

  • brambo123
  • Registratie: December 2006
  • Laatst online: 13:19
ruubert schreef op dinsdag 12 november 2024 @ 14:54:

Ik kan inmiddels ook de output limiteren (handig om de terugleverboete te voorkomen. Zelfs de batterij kun je instellen. Ben van plan om binnenkort deze aan te schaffen. Hieronder wat basis automations die ik nog moet gaan tunen voor dynamisch limiteren van output enzo.
Daarvoor heb je toch de export-limit functie.
Energiemeter moet je toch al hebben als je accu wil.

Ben overigens bezig met printje voor aan de slimme meter, hoef je niet hele energiemeter in je groepenkast te bouwen.
Maar duurt nog wel even voordat dat klaar is, beetje te druk met andere dingen.
En werkt eigenlijk ook alleen voor DSMR 5.0, om de 10s data is niet genoeg.

[ Voor 5% gewijzigd door brambo123 op 15-11-2024 19:50 ]


Acties:
  • +1 Henk 'm!

  • maomanna
  • Registratie: Februari 2006
  • Laatst online: 14:41
brambo123 schreef op woensdag 13 november 2024 @ 08:48:
[...]


Update:
Als het goed is heeft solar-outlet ze met een paar dagen op de website staan.
Staat er op
https://www.solar-outlet....ewilan-x2-datalogger.html

https://pvoutput.org/intraday.jsp?id=102416&sid=90116


Acties:
  • 0 Henk 'm!

  • Beekforel
  • Registratie: November 2001
  • Laatst online: 12:07

Beekforel

Is eigenlijk geen vis

De wifi variant heeft ook gewoon modbus en is wat vriendelijker geprijsd. Ik heb deze in 1 van mijn omvormers zitten en naar esphome geflashed.

Ik ben wel benieuwd of iemand al iets gebouwd heeft in bijvoorbeeld Home Assistant om daadwerkelijk iets te doen met die output limiting. Ik heb al wel wat geprobeerd maar het zijn toch best complexe berekeningen. Ik wilde een automation maken die ervoor zorgt dat ik zo min mogelijk teruglever. Extra hindernis is dat ik twee omvormers met verschillende capaciteit heb.
sailor_dg schreef op vrijdag 15 november 2024 @ 16:11:
Bij mij gebeurt er hetzelfde, het modbus commando wordt goed ontvangen:

[16:09:58][D][number:054]: 'MAX PV power' - Setting number value
[16:09:58][D][number:113]: New number value: 2.000000
[16:09:58][D][modbus.number:059]: Updating register: connected Sensor=MAX PV power start address=0x3 register count=1 new value=2.00 (val=2.00)

Was jij hier nog wat verder mee gekomen?


[...]
Mijn ene omvormer doet dit ook, maar de limit wordt wel gehonoreerd. Alleen de setting springt weer terug op 1 of andere manier. De andere, precies dezelfde esphome yaml, heeft hier geen last van.

Acties:
  • 0 Henk 'm!

  • brambo123
  • Registratie: December 2006
  • Laatst online: 13:19
Beekforel schreef op zaterdag 16 november 2024 @ 09:43:
De wifi variant heeft ook gewoon modbus en is wat vriendelijker geprijsd. Ik heb deze in 1 van mijn omvormers zitten en naar esphome geflashed.
[...]
Gewoon Modbus TCP zonder te custom firmware te flashen?
En niet geheel onbelangrijk, firmware update van afstand nog steeds mogelijk?
Op moment is firmware update haast noodzakelijk als je accu aansluit, zitten nog wat kinderziektes in.
Combinatie van firmware van omvormer, bms en accus zorgt nog wel eens voor problemen.

Acties:
  • 0 Henk 'm!

  • Beekforel
  • Registratie: November 2001
  • Laatst online: 12:07

Beekforel

Is eigenlijk geen vis

brambo123 schreef op zaterdag 16 november 2024 @ 10:12:
[...]

Gewoon Modbus TCP zonder te custom firmware te flashen?
En niet geheel onbelangrijk, firmware update van afstand nog steeds mogelijk?
Op moment is firmware update haast noodzakelijk als je accu aansluit, zitten nog wat kinderziektes in.
Combinatie van firmware van omvormer, bms en accus zorgt nog wel eens voor problemen.
Dat durf ik niet te zeggen, ik heb geen idee hoe je dat via Growatt regelen kunt? Wel eens iets over gelezen met een installateurswachtwoord oid.

De datasheet beschrijft in elk geval "TCP (Modbus TCP protocol)".

Acties:
  • +1 Henk 'm!

  • brambo123
  • Registratie: December 2006
  • Laatst online: 13:19
Beekforel schreef op zaterdag 16 november 2024 @ 10:21:
[...]

Dat durf ik niet te zeggen, ik heb geen idee hoe je dat via Growatt regelen kunt? Wel eens iets over gelezen met een installateurswachtwoord oid.

De datasheet beschrijft in elk geval "TCP (Modbus TCP protocol)".
Firmware update gaat via mailtje naar support, serienummer van omvormer doorgeven en ze updaten de firmware voor je.

Oudere dataloggers gebruiken een modbus achtige protocol voor communicatie naar het Growatt portaal.
Nieuwe versie schijnt daar MQTT voor te gebruiken.
Maar het grootste verschil is dat de nieuwe dataloggers dus lokale Modbus TCP hebben.
Datalogger luistert gewoon naar de standaard TCP poort 502.

Acties:
  • 0 Henk 'm!

  • brambo123
  • Registratie: December 2006
  • Laatst online: 13:19
Zie net dat ESTG de ShineWiFI-X op 'Niet meer leverbaar' heeft gezet.
Gok dat ShineWiLan-X2 straks de enige optie gaat worden.

Acties:
  • +1 Henk 'm!

  • firecaps30
  • Registratie: September 2011
  • Laatst online: 12:21
brambo123 schreef op zaterdag 16 november 2024 @ 10:12:
[...]

Gewoon Modbus TCP zonder te custom firmware te flashen?
En niet geheel onbelangrijk, firmware update van afstand nog steeds mogelijk?
Op moment is firmware update haast noodzakelijk als je accu aansluit, zitten nog wat kinderziektes in.
Combinatie van firmware van omvormer, bms en accus zorgt nog wel eens voor problemen.
Heb dit geprobeerd via HA met de Solax modbus integratie: https://github.com/wills106/homeassistant-solax-modbus

IP van de wifi shinewifi-x stick poort 502, dat werkt niet. Zou me ook verbazen, dan had iemand dat wel al eerder gevonden en zou die nieuwe ShineWiLan-X2 soort van overbodig zijn.

Gebruik zelf zo een simpele USB-modbus stick die in mijn Pi gaat waar HA op draait, die staat toevallig naast de omvormer op zolder. In combinatie met die Solax modbus integratie kan ik van alles uitlezen maar het belangrijkste de Active Power Limit aanpassen met een slider.

In combinatie met de P1 data zou je dan export limitatie in kunnen stellen.

Acties:
  • 0 Henk 'm!

  • firecaps30
  • Registratie: September 2011
  • Laatst online: 12:21
Ik heb Growatt gevraagd of de ShineWiLan-X2 modbus over zowel bedraad als draadloos ondersteunt, en het antwoord is ja.

Ga er een bestellen en dan eens mee rommelen.

Acties:
  • +2 Henk 'm!

  • firecaps30
  • Registratie: September 2011
  • Laatst online: 12:21
Vandaag de Growatt ShineWiLan-X2 datalogger stick binnen gekregen. Inpluggen, netwerkkabel er in, statisch IP in de router ingesteld en gekoppeld via de ShinePhone app.

Vervolgens met de HA integratie een nieuw device toegevoegd, protcocol modbus TCP, en verbonden! Werkt trouwens ook via draadloos netwerk (Wi-Fi).

Acties:
  • 0 Henk 'm!

  • Tinusvolkel
  • Registratie: Augustus 2014
  • Nu online
firecaps30 schreef op dinsdag 25 februari 2025 @ 16:11:
Vandaag de Growatt ShineWiLan-X2 datalogger stick binnen gekregen. Inpluggen, netwerkkabel er in, statisch IP in de router ingesteld en gekoppeld via de ShinePhone app.

Vervolgens met de HA integratie een nieuw device toegevoegd, protcocol modbus TCP, en verbonden! Werkt trouwens ook via draadloos netwerk (Wi-Fi).
Klinkt goed (y) dus er zijn geen constructies zoals grott meer nodig? en alle info van de omvormer is op te halen en in te stellen?
En het neem ik aan op een veel hogere interval uit te lezen dan de 5 minuten wat nu de default is?

Strava | 8600 Wp zzo | 1600 Wp nnw


Acties:
  • 0 Henk 'm!

  • firecaps30
  • Registratie: September 2011
  • Laatst online: 12:21
Tinusvolkel schreef op dinsdag 25 februari 2025 @ 16:38:
[...]


Klinkt goed (y) dus er zijn geen constructies zoals grott meer nodig? en alle info van de omvormer is op te halen en in te stellen?
En het neem ik aan op een veel hogere interval uit te lezen dan de 5 minuten wat nu de default is?
Overzicht van de beschikbare entiteiten in HA met de eerder genoemde Solax modbus integratie:

Afbeeldingslocatie: https://tweakers.net/i/5joyq0Rw880EZzfQVOm0x6erJrY=/232x232/filters:strip_exif()/f/image/yGXGfnmNHtKvrq8nYPWDrSYF.png?f=fotoalbum_tileAfbeeldingslocatie: https://tweakers.net/i/Wve7Jj17RgJwid1r6CbXvOpkpn8=/232x232/filters:strip_exif()/f/image/yLbOghDERvJGa9JIJZrMt4vQ.png?f=fotoalbum_tileAfbeeldingslocatie: https://tweakers.net/i/RNQlDTpSGGB9F2O9g4ippO_MZjc=/232x232/filters:strip_exif()/f/image/DdTzvXk0uh4lsnk4d082cw5d.png?f=fotoalbum_tile


Linker screenshot:
Bovenste slider is voor: Active Power Limit
Slider 2: Grid Export Limit
Slider 3: Reactive Power Limit

Grid export limit werkt in ieder geval, wel aanzetten in de dropdown ook :X

De HA integrate pollt elke 6 seconden, maar dat had ik zo ingesteld omdat op modbus RTU de baudrate maar 9600 was. Denk dat het ook wel minder kan.

Wat betreft elke 5 minuten, op elke growatt datalogger kun je dit toch aanpassen? Register 4 dacht ik, waarde uitlezen staat nu op 5, aanpassen naar 1. Dan heb je elke minuut updates.

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

Acties:
  • 0 Henk 'm!

  • cotton_eye_joe
  • Registratie: Juni 2016
  • Laatst online: 21-04 12:15
Ik ben bezig om een export limit op een growatt 40ktl3-x te maken via modbus. Momenteel ben ik aan het testen modbus registers cyclisch te schrijven (03 active P rate)

Nu lees ik op een ander forum dat het niet verstandig is om deze waarde te vaak te schrijven aangezien deze nieuwe waarde op het eeprom wordt opgeslagen. Ivm beperkt aantal schrijfacties van een eeprom zou deze snel falen.

Hebben jullie hier ervaringen mee? Is er iemand die al langere tijd register waarden veranderd en zijn daar problemen mee ondervonden?

Zijn er meer mensen met een zelf geknutselde export limit functie? Gebruiken jullie hiervoor ook register 03? Of zijn er andere/betere opties?

Kleine edit:

Ik zie bijvoorbeeld ook register 123 (exportLimitPowerRate) iemand die hier ervaring mee heeft?

[ Voor 7% gewijzigd door cotton_eye_joe op 25-02-2025 20:05 ]


Acties:
  • 0 Henk 'm!

  • firecaps30
  • Registratie: September 2011
  • Laatst online: 12:21
Ik zie vooral oudere topics elders waar dit mogelijke probleem inderdaad genoemd word. Als het echt een probleem zou zijn hadden die fora er denk ik ook wel al vol mee gestaan?

In dit geval Growatt biedt zelf ook een smart meter aan met modbus connectie, deze zal ook naar het geheugen schrijven voor export limitation. Als zij het al aanbieden zal het vast wel werken denk ik dan.. Tenzij ze voor de eigen meters iets anders hebben bedacht.

Acties:
  • 0 Henk 'm!

  • Tinusvolkel
  • Registratie: Augustus 2014
  • Nu online
Tegen de tijd dat m’n contract afloopt / salderen eraf gaat is verdiepen in de shinewilan-x2, dit “project” heeft nu nog niet zoveel prio :)

Maar heb hier de growatt energie meter al op m’n hoofdaansluiting zitten en die heeft een eigen modbus met de inverter. Maar neem aan dat die naar het werkgeheugen schrijft en dan adhv de exportlimit setting bepaald of ie wel of niet moet terugleveren.
Maar heb nog niet echt met deze setting getest.

Strava | 8600 Wp zzo | 1600 Wp nnw


Acties:
  • 0 Henk 'm!

  • cotton_eye_joe
  • Registratie: Juni 2016
  • Laatst online: 21-04 12:15
firecaps30 schreef op dinsdag 25 februari 2025 @ 21:29:


In dit geval Growatt biedt zelf ook een smart meter aan met modbus connectie, deze zal ook naar het geheugen schrijven voor export limitation. Als zij het al aanbieden zal het vast wel werken denk ik dan.. Tenzij ze voor de eigen meters iets anders hebben bedacht.
Tinusvolkel schreef op dinsdag 25 februari 2025 @ 21:45:

Maar heb hier de growatt energie meter al op m’n hoofdaansluiting zitten en die heeft een eigen modbus met de inverter. Maar neem aan dat die naar het werkgeheugen schrijft en dan adhv de exportlimit setting bepaald of ie wel of niet moet terugleveren.
Maar heb nog niet echt met deze setting getest.
Dat is een growatt meter, zou mooi zijn als bekend is welke registers growatt zelf gebruikt voor deze functie. Misschien is het een register dat in de documentatie als 'reserved' staat. Zit inderdaad verschil in of hij vanuit het werkgeheugen ook naar de eeprom schrijft of niet. Heb een test gedaan met register 3, deze staat na schrijven en vervolgens een reset op de laatst geschreven waarde. Dat lijkt me geen goed nieuws. Morgen eens wat klooien met register 123 :)
Pagina: 1 2 Laatste