# ESP32-S3 DevKit C N16R8 board # Don't forget to close the USB-OTG jumper! substitutions: name: apc-ups device_description: "Monitor and control a APC UPS via RS232" external_components_source: github://syssi/esphome-apc-ups@main esphome: name: ${name} comment: ${device_description} min_version: 2024.6.0 project: name: "syssi.esphome-apc-ups" version: 1.1.0 esp32: board: esp32-s3-devkitc-1 flash_size: 16MB framework: type: esp-idf sdkconfig_options: CONFIG_ESP32_S3_BOX_BOARD: "y" psram: mode: octal speed: 80MHz external_components: - source: ${external_components_source} refresh: 0s wifi: ssid: !secret wifi_ssid password: !secret wifi_password ota: platform: esphome logger: # If you don't use Home Assistant please remove this `api` section and uncomment the `mqtt` component! api: # mqtt: # broker: !secret mqtt_host # username: !secret mqtt_username # password: !secret mqtt_password # id: mqtt_client # See https://esphome.io/components/usb_uart/ usb_uart: - type: ch340 channels: id: uart_0 baud_rate: 2400 apc_ups: - id: ups0 uart_id: uart_0 binary_sensor: - platform: apc_ups apc_ups_id: ups0 runtime_calibration: name: "${name} runtime calibration" smart_trim: name: "${name} smart trim" smart_boost: name: "${name} smart boost" on_line: name: "${name} on line" on_battery: name: "${name} on battery" output_overloaded: name: "${name} output overloaded" battery_low: name: "${name} battery low" replace_battery: name: "${name} replace battery" smart_mode: name: "${name} smart mode" switch: - platform: apc_ups apc_ups_id: ups0 front_panel_test: name: "${name} front panel test" simulate_power_failure: name: "${name} simulate power failure" self_test: name: "${name} self test" start_runtime_calibration: name: "${name} start runtime calibration" sensor: - platform: apc_ups apc_ups_id: ups0 battery_voltage: name: "${name} battery voltage" grid_frequency: name: "${name} grid frequency" grid_voltage: name: "${name} grid voltage" ac_output_voltage: name: "${name} ac output voltage" ac_output_load: name: "${name} ac output load" status_bitmask: name: "${name} status bitmask" state_of_charge: name: "${name} state of charge" estimated_runtime: name: "${name} estimated runtime" internal_temperature: name: "${name} internal temperature" ambient_temperature: name: "${name} ambient temperature" max_grid_voltage: name: "${name} max grid voltage" min_grid_voltage: name: "${name} min grid voltage" nominal_battery_voltage: name: "${name} nominal battery voltage" nominal_output_voltage: name: "${name} nominal output voltage" text_sensor: - platform: apc_ups apc_ups_id: ups0 cause_of_last_transfer: name: "${name} cause of last transfer" # Could cause a connection reset of the Home Assistant API connection # See https://github.com/syssi/esphome-apc-ups/issues/1 # # protocol_info: # name: "${name} protocol info" firmware_revision: name: "${name} firmware revision" old_firmware_version: name: "${name} old firmware version" manufacture_date: name: "${name} manufacture date" last_battery_change_date: name: "${name} last battery change date" local_identifier: name: "${name} local identifier" serial_number: name: "${name} serial number" self_test_results: name: "${name} self test results" model_name: name: "${name} model name"