Also eine Schritt für Schritt Anleitung habe ich auch nicht für Dich parat und z.Z. auch keine Zeit diese zu erstellen. Aber es wäre auch gut wenn Du hier schreiben würdest was Du überhaupt schon probiert hast und wie weit Du überhaupt gekommen bist. Damit man einschätzen kann was Du bereits weiß und hast und woran es ggf. scheitert.
Beginnen musst Du damit den Stick mit ESPHome zu flashen. Dazu den Stick öffnen um an die Platine zu kommen. Dann bei GPIO0 und Ground eine Brücke setzen
und per PC ESPHome auf den ESP8266 des Sticks flashen.
Wenn das erfolgreich abgeschlossen ist kann Du den Stick per ESPHome bei HA einbinden. Dazu muss dort das ESPHome Addon und die ESPHome Integration installiert sein.
Wenn das passiert ist und der ShineStick darüber eingebunden ist, kannst Du eine zu Deinem Growatt passende ESPHome-Konfiguration über die ESPHome Oberfläche
auf den Stick flashen. Anm.: Immer wenn Du etwas auf den Stick flasht muss dafür die o.g. Brücke gesetzt sein. Also auch dann wenn Du später mal ein ESPHome Update bei dem Stick machen wolltest.
Da Du ja auch einen MIC 600TL-X WR hast poste ich Dir hier mal meine ESPHome Konfiguration dafür. Die Konfig. die ich hier poste ist etwas abgespeckt, weil ich bei mir noch ein paar spezielle Änderungen hab einfließen lassen, mit denen nicht jeder User etwas anfangen kann.
Hier also die leicht “abgespeckte” ESPHome Konfiguration:
substitutions:
devicename: "shinestick"
upper_devicename: "ESPHome Growatt"
esphome:
name: $devicename
platform: ESP8266
board: esp07s
# Enable logging
logger:
baud_rate: 0
# Enable Home Assistant API
api:
encryption:
key: "hier steht dann Dein individueller API Key"
ota:
safe_mode: true
password: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Growatt 01 Fallback Hotspot"
password: "xxxxxxxxx"
captive_portal:
time:
- platform: homeassistant
id: homeassistant_time
output:
# Blue Led
- id: light_bl
platform: gpio
pin: 16
# Green Led
- id: light_gr
platform: gpio
pin: 0
# Red Led
- id: light_rd
platform: gpio
pin: 2
uart:
id: mod_bus
tx_pin: 1
rx_pin: 3
baud_rate: 115200
modbus:
id: modbus1
uart_id: mod_bus
modbus_controller:
- id: growatt
## the Modbus device addr
address: 0x1
modbus_id: modbus1
setup_priority: -10
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!"};
}
switch:
- platform: modbus_controller
name: "${devicename} OnOff"
address: 0
register_type: holding
number:
- platform: modbus_controller
name: "${devicename} Max Output Power"
address: 3
value_type: U_WORD
min_value: 0
max_value: 100
entity_category: config
sensor:
- platform: wifi_signal
name: "WiFi Signal Sensor"
update_interval: 60s
- platform: modbus_controller
address: 0
register_type: "read"
internal: true
id: status
- platform: modbus_controller
name: "${devicename} DcPower"
address: 3005 #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: 3003 #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: 3004 #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} AcPower"
address: 3023 #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} AcFrequency"
address: 3025 #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: 3026 #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: 3027 #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} AcPowerVA"
address: 3028 #40
register_type: "read"
unit_of_measurement: VA
icon: mdi:flash
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
name: "${devicename} EnergyToday"
address: 3049 #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: 3051 #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
De obere Teil wird sich bei Dir dann natürlich unterscheiden, aber wenn Du den Rest so übernimmst stehen Dir hinterher unter HA folgende Sensoren für den MIC 600TL-X zur Verfügung.
PS: Ich würde Dir aber auch empfehlen nicht einfach nur stumpf nach einen “Schritt für Schritt Anleitung” vorzugehen, sondern Dich auch ein wenig mehr/tiefer mit dem Thema zu befassen, damit Du auch weißt und verstehst was Du da tust und wie und warum.
D.h. ich würde Dir empfehlen im I-Net die inzwischen zahlreich vorhandenen Infos und Diskussionen zu dem Thema Dir anzuschauen. Da gibt es dann auch weitere Infos zu evtl. auftauchenden Problemen, oder andere Beispiel ESPHome Konfigurationen und zumindest auch (Teil-)Anleitungen zu dem Thema. U.a. auch von mir.
VG Jim