devices.esphome.io
DETA Mechanism Switch (6014HA)
DETA Mechanism Switch (6014HA)
Device Type: switchElectrical Standard: auBoard: esp8266
General Notes
A smart switch that does not require a neutural, needs a minumum 20w load or a load correction device
Available from Bunnings
GPIO Pinout
Pin | Function |
---|---|
GPIO12 | Blue LED (Inverted: true) |
GPIO14 | Button |
GPIO16 | Relay |
Conversion
To use ESPHome, replace the WB3S with a ESP12F.
- Link GPIO15 to Gnd (recommended via 10k resistor)
- Link EN to Vcc (recommended via 10k resistor)
Due to limited space, conversion below ommited the resistors. No issues but it is outside specifications.
Configuration
substitutions: name: "deta-6014-01" friendly_name: "DETA 1G" project_name: "DETA.60141HA" project_version: "1.0" device_description: "Deta 6014HA Light Switch"
esphome: name: "${name}" comment: "${device_description}" project: name: "${project_name}" version: "${project_version}"
esp8266: board: esp12e
# Enable logginglogger:
# Enable Home Assistant APIapi: encryption: key: "your key"
ota: password: "your password"
wifi: ssid: !secret wifi_ssid password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Deta-6014Ha-01 Fallback Hotspot" password: "fallback password"
captive_portal:
sensor: - platform: wifi_signal name: "${friendly_name} wifi signal" update_interval: 600s - platform: uptime name: Uptime Sensor id: uptime_sensor update_interval: 60s disabled_by_default: true 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();
#################################
output: # Button - platform: gpio pin: GPIO16 id: relay1
light: # Top (or only) button - platform: binary name: "${friendly_name} Light" output: relay1 id: light1 on_turn_on: - light.turn_on: status1 on_turn_off: - light.turn_off: status1 - platform: status_led id: status1 pin: number: GPIO12 inverted: true
# Buttonsbinary_sensor: # Button - platform: gpio pin: number: GPIO14 mode: input: true pullup: true inverted: True name: "${friendly_name} Button" #toggle relay on push on_press: - light.toggle: light1
button: - platform: restart id: restart_button name: "${friendly_name} Restart" disabled_by_default: true
text_sensor: - platform: wifi_info ip_address: name: "${friendly_name} IP Address" disabled_by_default: true bssid: name: "${friendly_name} BSSID" disabled_by_default: true - platform: template name: Uptime id: uptime_human icon: mdi:clock-start