Você está no 3DFinder
Buscamos em Thingiverse, MakerWorld e Printables ao mesmo tempo para te dar o melhor de cada uma.
Descrição
用该面板将灯具接入hass避免钻入被窝后才发现未关灯的窘境
只需要简单的ESP8266 + 机械轴 + 打印件即可完成。强弱电隔离,使用卡扣固定零件,降低漏电风险。强电端引出5v gnd 以及继电器控制引脚与控制端连结。控制端做了磁吸可拆卸设计,方便后续更新。
可以通过hass同时控制多个设备

图片中采用便宜的8285模块,最大引出4个gpio脚位。后续可根具自己的需要跟换为esp32,可以引出更多gpio脚位,增加更多按键控制更多智能家居,或者增加屏幕模块或者增加人体存在传感器实现更多功能。

需要esp-01
6*2.5圆柱磁铁
5v继电器

5v充电板


5v转3v小板(该小板体积小自带typec口,可给电池充电可提供3v输出再加上便宜可以说是性价比十足了)


接线端子排

键盘轴体

可根据需要在面板上贴nfc标签(拓竹官方耗材上会自带一个配合nfc tool即可写入数据)

esphome配置,控制其它智能家居时需要在hass授予权限

web_server:
port: 80
sensor:
- platform: uptime
name: Uptime
filters:
- lambda: return x / 86400.0;
unit_of_measurement: D
switch:
- platform: gpio
name: "relay1"
pin: GPIO5
id: relay1
restore_mode: RESTORE_DEFAULT_OFF
inverted: no
icon: "mdi:ceiling-light"
- platform: template
name: "relay"
id: relay
lambda: |-
return id(relay1).state;
icon: "mdi:ceiling-light"
turn_on_action:
- switch.turn_on: relay1
- delay: 0.5s
- switch.turn_off: relay1
- delay: 0.5s
- switch.turn_on: relay1
- delay: 0.5s
- switch.turn_off: relay1
- delay: 0.5s
- switch.turn_on: relay1
turn_off_action:
- switch.turn_off: relay1
- platform: gpio
name: "led1"
pin: GPIO12
id: Indicator_light1
restore_mode: RESTORE_DEFAULT_OFF
inverted: no
icon: "mdi:led-on"
- platform: gpio
name: "led2"
pin: GPIO14
id: Indicator_light2
restore_mode: RESTORE_DEFAULT_OFF
inverted: no
icon: "mdi:led-on"
binary_sensor:
- platform: gpio
pin:
number: 4
mode: INPUT_PULLUP
inverted: True
name: "button1"
id: button1
filters:
- delayed_on_off: 30ms
on_click:
- min_length: 20ms
max_length: 450ms
then:
- if:
condition:
- switch.is_on: relay
then:
- switch.turn_off: relay
else:
- switch.turn_on: relay
on_press:
then:
- delay: 0.5s
- if:
condition:
and:
- wifi.connected:
- api.connected:
then:
- if:
condition:
- binary_sensor.is_on: button1
then:
- homeassistant.service:
service: switch.turn_off
data_template:
entity_id: switch.light_test_relay
- homeassistant.service:
service: switch.turn_off
data_template:
entity_id: switch.light_3_relay
- switch.turn_off: relay
- platform: gpio
pin:
number: 0
mode: INPUT_PULLUP
inverted: True
name: "button2"
id: button2
filters:
- delayed_on_off: 20ms
on_click:
- min_length: 20ms
max_length: 450ms
then:
- homeassistant.service:
service: switch.toggle
data_template:
entity_id: switch.light_test_relay
on_press:
then:
- delay: 0.5s
- if:
condition:
and:
- wifi.connected:
- api.connected:
- binary_sensor.is_on: button2
then:
- homeassistant.service:
service: switch.turn_off
data_template:
entity_id: switch.light_test_relay
- homeassistant.service:
service: switch.turn_off
data_template:
entity_id: switch.light_3_relay
- switch.turn_off: relay
- platform: gpio
pin:
number: 2
mode:
input: true
pullup: True
inverted: True
name: "button3"
id: button3
filters:
- delayed_on_off: 20ms
on_click:
- min_length: 20ms
max_length: 450ms
then:
- if:
condition:
and:
- wifi.connected:
- api.connected:
then:
- homeassistant.service:
service: switch.toggle
data_template:
entity_id: switch.light_3_relay
on_press:
then:
- delay: 0.5s
- if:
condition:
and:
- wifi.connected:
- api.connected:
- binary_sensor.is_on: button3
then:
- homeassistant.service:
service: switch.turn_off
data_template:
entity_id: switch.light_test_relay
- homeassistant.service:
service: switch.turn_off
data_template:
entity_id: switch.light_3_relay
- switch.turn_off: relay
- platform: gpio
pin:
number: 1
mode:
input: true
pullup: True
inverted: True
name: "button4"
id: button4
filters:
- delayed_on_off: 20ms
on_click:
- min_length: 20ms
max_length: 450ms
then:
- if:
condition:
and:
- wifi.connected:
- api.connected:
then:
- homeassistant.service:
service: switch.toggle
data_template:
entity_id: switch.power_strip_spotlight
on_press:
then:
- delay: 0.5s
- if:
condition:
and:
- wifi.connected:
- api.connected:
- binary_sensor.is_on: button4
then:
- homeassistant.service:
service: switch.turn_off
data_template:
entity_id: switch.power_strip_track_light
- homeassistant.service:
service: switch.turn_off
data_template:
entity_id: switch.power_strip_lamp2
- homeassistant.service:
service: switch.turn_off
data_template:
entity_id: switch.power_strip_spotlight
- homeassistant.service:
service: light.turn_off
data_template:
entity_id: light.yeelink_lamp4_126e_light
- switch.turn_off: relay
- platform: gpio
pin:
number: 13
mode:
input: true
pullup: True
inverted: True
name: "button5"
id: button5
filters:
- delayed_on_off: 20ms
on_click:
- min_length: 20ms
max_length: 450ms
then:
- if:
condition:
and:
- wifi.connected:
- api.connected:
then:
- homeassistant.service:
service: switch.toggle
data_template:
entity_id: switch.power_strip_track_light
on_press:
then:
- delay: 0.5s
- if:
condition:
and:
- wifi.connected:
- api.connected:
- binary_sensor.is_on: button5
then:
- homeassistant.service:
service: switch.turn_off
data_template:
entity_id: switch.power_strip_track_light
- homeassistant.service:
service: switch.turn_off
data_template:
entity_id: switch.power_strip_lamp2
- homeassistant.service:
service: switch.turn_off
data_template:
entity_id: switch.power_strip_spotlight
- homeassistant.service:
service: light.turn_off
data_template:
entity_id: light.yeelink_lamp4_126e_light
- switch.turn_off: relay
- platform: gpio
pin:
number: 3
mode: INPUT_PULLUP
inverted: True
name: "button6"
id: button6
filters:
- delayed_on_off: 20ms
on_click:
- min_length: 20ms
max_length: 450ms
then:
- homeassistant.service:
service: light.toggle
data_template:
entity_id: light.yeelink_lamp4_126e_light
on_press:
then:
- delay: 0.5s
- if:
condition:
and:
- wifi.connected:
- api.connected:
- binary_sensor.is_on: button6
then:
# - homeassistant.service:
# service: light.turn_on
# data_template:
# entity_id: light.yeelink_lamp4_126e_light
# brightness_pct: '100'
# color_temp_kelvin: '4000'
- homeassistant.service:
service: switch.toggle
data_template:
entity_id: switch.xiaomi_h39h00_aec7_switch_status
Gostou deste modelo? Crie uma conta grátis para salvar seus favoritos e voltar a eles depois.
Criar conta