/Growatt_Shine-S_HASS_Mod

Growatt_ShineWiFi custom firmware for HomeAssistant with MQTT trough ESPHome inside HomeAssistant.

MIT LicenseMIT

Growatt_ShineWiFi custom firmware for HomeAssistant with MQTT trough ESPHome inside HomeAssistant.

Firmware replacement for Growatt ShineWiFi-S (serial), ShineWiFi-X (USB) or custom build sticks (ESP8266/ESP32). FW.bin is only for factory reset!

Everything has been 100% tested with my SHINE-S, for the SHINE-X i could not test. I'm not responsible for any damages.

RESTORE TO FACTORY

  • I added the FW.bin you can flash it with ESPHome in homeassistant or an other tool to revert back to factory Be sure when u did flash it with this bin file just reset the SHINE-S
  • This will go back to Factory, so not visable in HomeAssistant!


First things first

Initial loading of Firmware to the stick is rather easy:

Remove the stick's PCB from the housing. You need some power supply for the module while programming, e.g. if you use an USB-serial module that can supply the 3.3V while programming.

How to put the SHINE-S in bootmode?:

  • You'll need to power the module while programming. If you're using a USB-serial module that can supply 3.3V while programming, connect it as follows:
  • Connect the RX pin from your flasher to the TX pin of your SHINE-S.
  • Connect the TX pin from your flasher to the RX pin of your SHINE-S.
  • Connect the GND pin from your flasher to the GND pin of your SHINE-S.
  • Extend the GND cable with a piece of metal pin as the GND cable also needs to be in GPIO0.
  • Connect the VIM pin of your flasher to the 3v pin of your SHINE-S. image

Installing ESPhome in homeassistant

Open Home Assistant and go to the Supervisor tab.

  • Click on Add-on Store and search for ESPHome.
  • Click on the ESPHome add-on and then click on Install.
  • After the installation is complete, go back to the Supervisor tab and click on the ESPHome add-on.
  • Click on Configuration and then on the Edit button (pencil icon).
  • Add your ESPHome configuration settings, such as the name of your device and the IP address of your Home Assistant instance.
  • Click on Save and then click on Start to start the ESPHome add-on.
  • Once you have completed these steps, you should have ESPHome installed on your Home Assistant instance. You can then use the ESPHome dashboard to create and manage your ESPHome devices.

To compile the firmware be sure to use google chrome!:

  • Open the ESPHome dashboard by clicking on the ESPHome add-on in the Supervisor tab.
  • Click on the "create device" button to create a new device configuration. image
  • Select the device you want to configure and give it a name.

image

image

  • Click on edit Add the configuration settings for your device, such as the type of sensor you want to use and any other customizations you want to make. Thanks for the code Wilbert Verhoeff, i did alter it and added MQTT

Check the yaml here this is the code to upload.

  • Once you have added all the necessary configuration settings, click on "Save" to save your configuration.

  • When ready click on install

image

  • next step click on from computer, and no wireless, wireless works if u did flash it the first times, so you don't have to be connected on your pc.

image

  • Now you get this window, but wait till you get the download project, this will let yo download the bin file After that press on open ESPHOME and follow the instructions, it lets u upload the binfile what you just downloaded and flash it.

image

  • If done correct, you see its online

image

  • When u click visit it shows u this dashboard.

image

  • In homeassistant it will be detected instantly, and if u add it it shows up like this:

image

image

  • and in the MQTT addon it shows up like this:

image

UPDATE 01-05-2023

  • Added a slider in the GUI to select the update interval.
  • Added a reboot button in the GUI so when u press that it reboots the device after setting up the update interval.

image

Improvement.

  • commented out the slider, and added a selector.

image

You can always edit the code when pressing edit and when done install and you select wireless, and it will go OTA:) Have fun

UPDATE 02-05-2023

  • Added a automation (in this repo) for homeassistant when u change the interval so it restarts the Shine-S and sets the correct interval..

UPDATE 03-05-2023

  • Added a auto restart after chainging the interval setting, see the updated yaml.
  • no need for an automation, its removed now from the repo.