kleiner Schelm
Active member
Hallo,
ich habe einen Growatt MIC 2000. Der Soll über ESP8266 und der TTL Schnittstelle von Growatt in Home Assistant.
Es gibt im Internet sehr viele Anleitungen. Meist die wo der ShineWiFi Stick mit ner ESP Software geflasht wird. Dann gibts noch ne Firmware, die man flashen kann.
Der ShineWiFi Stick steckt im USB Port vom Growatt. Ich will aber an die RS485TTL Schnittstelle. Da hab ich auch was gefunden, bekomme das aber nicht zum laufen.
Ich habe den TTL Adapter mit den grünen Klemmen für A und B.
Iwo im Internet stand, dass man 3,3V als Spannungsversorgung nehmen soll, 5V führt zu problemen. Ich nutze ein 5V Netzteil zum versorgen des esp8266. der TTL Adapter wird vom esp8266 mit 3,3 V versorgt.
Verdrahtet habe ich das wie Bild rechts unten, also RS485 Modul 2.
Die Frage ist, was programmiere ich in ESPHome ?
1. Was gebe ich am besten für eine Hardware vor ? also board: xyz ?
2. welche Pins (RS485 Kommunikation) muss ich für welche Hardware nutzen ?
muss ich direkt die TX und RX Pins nutzen ? Weil ich auch eine Konfig gefunden habe, da schreibt einer, die TX und RX Pins würden nicht funktionieren.
Er nutzt statt dessen D5 und D6.
3. Welche Baut Rate muss ich nehmen ? Ich gehe von 9600 aus.
In einigen Beispielen ist 115200 gesetzt. Die schliessen das aber auch an den USB Port an. Vielleicht ist die Baut Rate dort höher zu setzen.
4. Ich habe GPIO0 für die Steuerung des Datenflusses genommen. (flow_control_pin: GPIO0)
Im Code sind meine Versuche auskommentiert. Es geht bis jetzt nicht.
Am TTL Adapter brennt dauerhaft eine rote LED.
Ich kann nen log von ESPHome hier rein stellen. Mir selbst sagt der Log zu wenig, ich kann das nicht wirklich zu Störungsbehebung nutzen.
Hat jemand ein Test Code, mit dem ich einfach nur sehen kann, dass die kommunikation mit der Growatt TTL485 funktioniert ?
kann ich den ESP8266 mittels USB Kabel an den Growatt USB Port anschliessen ? Dann geht das ja nicht wirklich über TTL485. Dafür könnte ich was fertiges aus dem Internet ausprobieren.
ich habe einen Growatt MIC 2000. Der Soll über ESP8266 und der TTL Schnittstelle von Growatt in Home Assistant.
Es gibt im Internet sehr viele Anleitungen. Meist die wo der ShineWiFi Stick mit ner ESP Software geflasht wird. Dann gibts noch ne Firmware, die man flashen kann.
Der ShineWiFi Stick steckt im USB Port vom Growatt. Ich will aber an die RS485TTL Schnittstelle. Da hab ich auch was gefunden, bekomme das aber nicht zum laufen.
Ich habe den TTL Adapter mit den grünen Klemmen für A und B.
Iwo im Internet stand, dass man 3,3V als Spannungsversorgung nehmen soll, 5V führt zu problemen. Ich nutze ein 5V Netzteil zum versorgen des esp8266. der TTL Adapter wird vom esp8266 mit 3,3 V versorgt.
Verdrahtet habe ich das wie Bild rechts unten, also RS485 Modul 2.
Die Frage ist, was programmiere ich in ESPHome ?
1. Was gebe ich am besten für eine Hardware vor ? also board: xyz ?
2. welche Pins (RS485 Kommunikation) muss ich für welche Hardware nutzen ?
muss ich direkt die TX und RX Pins nutzen ? Weil ich auch eine Konfig gefunden habe, da schreibt einer, die TX und RX Pins würden nicht funktionieren.
Er nutzt statt dessen D5 und D6.
3. Welche Baut Rate muss ich nehmen ? Ich gehe von 9600 aus.
In einigen Beispielen ist 115200 gesetzt. Die schliessen das aber auch an den USB Port an. Vielleicht ist die Baut Rate dort höher zu setzen.
4. Ich habe GPIO0 für die Steuerung des Datenflusses genommen. (flow_control_pin: GPIO0)
YAML:
substitutions:
devicename: "growatt"
friendly_name: "growatt"
fixed_ip: "192.168.111.111"
# packages:
# common: !include includes/common.yaml
esphome:
name: "${devicename}"
friendly_name: "${friendly_name}"
esp8266:
# board: d1_mini
board: esp01_1m # <------------- was gebe ich am besten für eine hardware vor ?
debug:
update_interval: 5s
logger:
level: DEBUG
baud_rate: 0
# Enable Home Assistant API
api:
encryption:
key: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
ota:
- platform: esphome
password: "xxxxxxxxxxxxxxxxxxxxxxxxxxx"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
manual_ip:
static_ip: 192.168.111.11
gateway: 192.168.111.1
subnet: 255.255.255.0
dns1: 192.168.111.1
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "growatt Fallback Hotspot"
password: "xxxxxxxxxxxxxx"
web_server: # creates a web server where you can access all this stuff without home assistant (good for debugging or working headless (no HA))
port: 80
include_internal: true
ota: true
time:
- platform: homeassistant
id: homeassistant_time
uart:
id: mod_bus
# tx_pin: D5 # werkte niet op de standaard TX en RX pins (die schijnen al bezet te zijn)
# rx_pin: D6 # Funktioniert nicht mit den standardmäßigen TX- und RX-Pins (die Stifte müssen alle angeschlossen sein)
baud_rate: 9600
tx_pin: TX # GIPO1 aus der Anleitung ESPHome - Modbus Forum
rx_pin: RX # GIPO3 <---- ist das so korrekt ?
# baud_rate: 115200
modbus:
id: modbus1
uart_id: mod_bus
flow_control_pin: GPIO0 # <--- hier wird wohl der Datenfluss rein und raus gesteuert, also die umschaltung
modbus_controller:
- id: growatt
address: 0x1
modbus_id: modbus1
setup_priority: -10
switch:
- platform: modbus_controller
name: "${devicename} OnOff"
address: 0
register_type: holding
output:
# Blue Led
- id: light_bl
platform: gpio
pin: GPIO16 # D0 # GPIO16
# Green Led
- id: light_gr
platform: gpio
pin: GPIO14 # D5 # GPIO14
# Red Led
- id: light_rd
platform: gpio
pin: GPIO12 # D6 # GPIO12
number:
- platform: modbus_controller
name: "${devicename} Max Output Power"
address: 3
value_type: U_WORD
min_value: 0
max_value: 100
entity_category: config
select:
- platform: modbus_controller
id: powermode
name: "${devicename} Power Mode"
address: 121
value_type: U_WORD
optionsmap:
"600": 6 # MIC600
"750": 7 # MIC750
"1000": 10 # MIC1000
"1500": 15 # MIC1500
"2000": 20 # MIC2000
entity_category: config
Im Code sind meine Versuche auskommentiert. Es geht bis jetzt nicht.
Am TTL Adapter brennt dauerhaft eine rote LED.
Ich kann nen log von ESPHome hier rein stellen. Mir selbst sagt der Log zu wenig, ich kann das nicht wirklich zu Störungsbehebung nutzen.
Hat jemand ein Test Code, mit dem ich einfach nur sehen kann, dass die kommunikation mit der Growatt TTL485 funktioniert ?
kann ich den ESP8266 mittels USB Kabel an den Growatt USB Port anschliessen ? Dann geht das ja nicht wirklich über TTL485. Dafür könnte ich was fertiges aus dem Internet ausprobieren.