devices.esphome.io
Nous A8T
Nous A8T
Device Type: plugElectrical Standard: euBoard: esp32Difficulty: Disassembly required, 3/5
General Notes
Theis device contains an ESP32-C3 and ships with Tasmota firmware To flash it the device can easily be dissasemblied by unscrewing the screw at the plug side.
Example Configuration
substitutions: name: nous-a8t friendly_name: Nous A8T (ESPHome) max_power: "2000" # Higher value gives lower watt readout current_res: "0.00126" # Lower value gives lower voltage readout voltage_div: "1570"
esphome: name: ${name} friendly_name: ${friendly_name} name_add_mac_suffix: false project: name: "NOUS.Smart-Wifi-Socket" version: "A8T" on_boot: priority: 200 then: - if: condition: switch.is_on: relay then: - light.turn_on: led else: - light.turn_off: led
esp32: board: esp32dev framework: type: esp-idf
# Enable logginglogger:
# Enable Home Assistant APIapi:
# Allow Over-The-Air updatesota:
# Allow provisioning Wi-Fi via serialimprov_serial:
wifi: # Set up a wifi access point ap: {}
# In combination with the `ap` this allows the user# to provision wifi credentials to the device via WiFi AP.captive_portal:
time: - platform: homeassistant id: my_time
globals: - id: total_energy type: float restore_value: true initial_value: "0.0"
dashboard_import: package_import_url: github://esphome/example-configs/esphome-web/esp32.yaml@main import_full_config: true
# To have a "next url" for improv serialweb_server:
light: - platform: status_led internal: True name: "Switch state" id: led pin: number: GPIO02 inverted: true
binary_sensor: - platform: gpio id: "push_button" internal: true pin: number: GPIO04 inverted: yes mode: INPUT_PULLUP on_press: - switch.toggle: "relay"
switch: - platform: gpio pin: GPIO13 id: relay name: "Relay" restore_mode: RESTORE_DEFAULT_OFF icon: mdi:power on_turn_on: - light.turn_on: led on_turn_off: - light.turn_off: led
sensor: - platform: wifi_signal name: "Wifi Signal" update_interval: 60s icon: mdi:wifi
- platform: uptime name: "Uptime" update_interval: 60s icon: mdi:clock-outline
- platform: hlw8012 model: BL0937 sel_pin: number: GPIO14 inverted: True cf_pin: GPIO27 cf1_pin: GPIO26 current_resistor: ${current_res} voltage_divider: ${voltage_div} change_mode_every: 1 update_interval: 5s
current: id: current name: "current" unit_of_measurement: A accuracy_decimals: 3 icon: mdi:current-ac filters: - lambda: |- if (x < 0.01) return 0; else return x;
voltage: id: voltage name: "voltage" unit_of_measurement: V accuracy_decimals: 1 icon: mdi:flash-outline
power: name: "power" id: power unit_of_measurement: W icon: mdi:flash-outline force_update: true filters: - calibrate_linear: - 0.0 -> 0.0 - 24.50 -> 28.40 on_value_range: - above: ${max_power} then: - switch.turn_off: relay - homeassistant.service: service: persistent_notification.create data: title: Message from ${name} data_template: message: Switch turned off because power exceeded ${max_power}W
- platform: total_daily_energy name: "energy" power_id: power state_class: total_increasing unit_of_measurement: kWh filters: # Multiplication factor from W to kW is 0.001 - multiply: 0.001 - lambda: !lambda |- static auto last_state = x; if (x < last_state) { // x was reset id(total_energy) += last_state; ESP_LOGI("main", "Energy was reset: %f", id(total_energy)); } last_state = x; return id(total_energy) + x;