substitutions:
name: soyosource-wifi-dongle
device_description: "Monitor and control the WiFi version of the Soyosource GTN using the OEM WiFi dongle with a custom firmware"
external_components_source: github://syssi/esphome-soyosource-gtn-virtual-meter@main
esphome:
name: soyo-nr-1
friendly_name: Soyo Nr. 1
comment: ${device_description}
min_version: 2024.6.0
project:
name: "syssi.esphome-soyosource-gtn-virtual-meter"
version: 2.1.0
esp8266:
board: esp01_1m
# Enable logging
logger:
baud_rate: 0
level: INFO
# Enable Home Assistant API
api:
encryption:
key: "xxx"
ota:
- platform: esphome
password: "xxx"
wifi:
ssid: "xxx"
password: "xxx"
manual_ip:
# Set this to the IP of the ESP
static_ip: xxx
# Set this to the IP address of the router. Often ends with .1
gateway: xxx
# The subnet of the network. 255.255.255.0 works for most home networks.
subnet: 255.255.255.0
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Soyo-Nr-1 Fallback Hotspot"
password: "xxx"
captive_portal:
external_components:
- source: ${external_components_source}
refresh: 0s
# If you use Home Assistant please remove this `mqtt` section and uncomment the `api` component!
# The native API has many advantages over MQTT: https://esphome.io/components/api.html#advantages-over-mqtt
#api:
uart:
- id: uart_0
baud_rate: 9600
tx_pin: GPIO1
rx_pin: GPIO3
soyosource_display:
- uart_id: uart_0
protocol_version: SOYOSOURCE_WIFI_VERSION
update_interval: 5s
binary_sensor:
- platform: soyosource_display
fan_running:
name: "${name} fan running"
limiter_connected:
name: "${name} limiter connected"
button:
- platform: soyosource_display
restart:
name: "${name} restart"
number:
- platform: soyosource_display
start_voltage:
name: "${name} start voltage"
shutdown_voltage:
name: "${name} shutdown voltage"
# Maximum output power in limiter mode / Output power in constant power mode
output_power_limit:
name: "${name} output power limit"
start_delay:
name: "${name} start delay"
select:
- platform: soyosource_display
operation_mode:
name: "${name} operation mode"
optionsmap:
1: "PV"
2: "Battery Constant Power"
17: "PV Limit"
18: "Battery Limit"
sensor:
- platform: soyosource_display
error_bitmask:
name: "${name} error bitmask"
operation_mode_id:
name: "${name} operation mode id"
operation_status_id:
name: "${name} operation status id"
battery_voltage:
name: "${name} battery voltage"
battery_current:
name: "${name} battery current"
battery_power:
name: "${name} battery power"
ac_voltage:
name: "${name} ac voltage"
ac_frequency:
name: "${name} ac frequency"
temperature:
name: "${name} temperature"
total_energy:
name: "${name} total energy"
output_power:
name: "${name} output power"
text_sensor:
- platform: soyosource_display
errors:
name: "${name} errors"
operation_mode:
name: "${name} operation mode"
operation_status:
name: "${name} operation status"