Skip to content

Instantly share code, notes, and snippets.

@chmutoff
Created December 8, 2022 19:53
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chmutoff/fffbac39e659a591796282814cbe766c to your computer and use it in GitHub Desktop.
Save chmutoff/fffbac39e659a591796282814cbe766c to your computer and use it in GitHub Desktop.
Sonoff Pow R3 ESPHome template
substitutions:
device_name: sonoff-pow-r3
device_description: Sonoff Pow R3
friendly_name: Sonoff Pow R3
esphome:
name: ${device_name}
comment: ${device_description}
esp8266:
board: esp01_1m
restore_from_flash: true
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
power_save_mode: light
ap:
ssid: ${friendly_name} AP
password: !secret ap_password
captive_portal:
web_server:
port: 80
auth:
username: !secret web_server_username
password: !secret web_server_password
api:
password: !secret api_password
ota:
password: !secret ota_password
logger:
baud_rate: 0
uart:
tx_pin: GPIO1
rx_pin: GPIO3
baud_rate: 4800
switch:
- platform: restart
name: ${friendly_name} restart
- platform: gpio
name: "${friendly_name} power status"
pin: GPIO12
inverted: true
id: relay
status_led:
pin:
number: GPIO13
inverted: yes
text_sensor:
- platform: version
name: ${friendly_name} ESPHome Version
hide_timestamp: true
- platform: template
name: ${friendly_name} Uptime
id: uptime_human
icon: mdi:clock-start
sensor:
- platform: wifi_signal
id: wifi_sig
name: ${friendly_name} signal
- platform: uptime
name: ${friendly_name} Uptime Sensor
id: uptime_sensor
on_raw_value:
then:
- text_sensor.template.publish:
id: uptime_human
state: !lambda |-
int seconds = round(id(uptime_sensor).raw_state);
int days = seconds / (24 * 3600);
seconds = seconds % (24 * 3600);
int hours = seconds / 3600;
seconds = seconds % 3600;
int minutes = seconds / 60;
seconds = seconds % 60;
return (
(days ? to_string(days) + "d " : "") +
(hours ? to_string(hours) + "h " : "") +
(minutes ? to_string(minutes) + "m " : "") +
(to_string(seconds) + "s")
).c_str();
- platform: cse7766
#update_interval: 5s
voltage:
name: "${friendly_name} Voltage"
current:
name: "${friendly_name} Current"
power:
name: "${friendly_name} Power"
energy:
name: "${friendly_name} Energy"
binary_sensor:
- platform: status
name: ${friendly_name} HA connection status
- platform: gpio
pin:
number: GPIO0
mode: INPUT_PULLUP
inverted: True
id: button
internal: True
on_press:
- switch.toggle: relay
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment