substitutions: name: votronic device_description: "Monitor a votronic device via BLE" external_components_source: github://syssi/esphome-votronic@main mac_address: 60:A4:23:91:8F:55 esphome: name: ${name} comment: ${device_description} min_version: 2024.6.0 project: name: "syssi.esphome-votronic" version: 3.1.0 esp32: board: wemos_d1_mini32 framework: type: esp-idf external_components: - source: ${external_components_source} refresh: 0s wifi: ssid: !secret wifi_ssid password: !secret wifi_password ota: platform: esphome logger: level: DEBUG # 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 mqtt: broker: !secret mqtt_host username: !secret mqtt_username password: !secret mqtt_password id: mqtt_client # api: esp32_ble: io_capability: keyboard_only esp32_ble_tracker: scan_parameters: active: false ble_client: - mac_address: ${mac_address} id: client0 on_passkey_request: then: - ble_client.passkey_reply: id: client0 passkey: 173928 votronic_ble: - ble_client_id: client0 id: votronic0 throttle: 5s binary_sensor: - platform: votronic_ble votronic_ble_id: votronic0 charging: name: "${name} charging" discharging: name: "${name} discharging" controller_active: name: "${name} controller active" current_reduction: name: "${name} current reduction" aes_active: name: "${name} aes active" sensor: - platform: votronic_ble votronic_ble_id: votronic0 # Battery computer battery_voltage: name: "${name} battery voltage" secondary_battery_voltage: name: "${name} secondary battery voltage" battery_capacity_remaining: name: "${name} battery capacity remaining" state_of_charge: name: "${name} state of charge" current: name: "${name} current" power: name: "${name} power" battery_nominal_capacity: name: "${name} battery nominal capacity" # Solar charger pv_voltage: name: "${name} pv voltage" pv_current: name: "${name} pv current" battery_status_bitmask: name: "${name} battery status bitmask" pv_controller_status_bitmask: name: "${name} pv controller status bitmask" charged_capacity: name: "${name} charged capacity" charged_energy: name: "${name} charged energy" pv_power: name: "${name} pv power" text_sensor: - platform: votronic_ble votronic_ble_id: votronic0 battery_status: name: "${name} battery status" pv_controller_status: name: "${name} pv controller status" switch: - platform: ble_client ble_client_id: client0 name: "${name} enable bluetooth connection"