Архив метки: zigbee
Tasmota Supported Devices Repository
ZigBee Project Version 1.0
Вот что получилось.
VCC = 3.3V
ZigBee координатор: Rule ON System#Boot do TCPStart 8888 endon
Прошивка https://ptvo.info/
- Как прошить: https://zigbee.blakadder.com/flashing_ccloader.html
- CCLoader: https://github.com/Jason2866/CCLoader
- Re-pairing
=========================
Power on, wait 2 seconds, power off, repeat this cycle three times.
If you configured first input pin, click and hold it for 10 seconds.
Прошивка: objcopy –gap-fill 0xFF –pad-to 0x040000 -I ihex Romik.Switch.V1.hex -O binary Romik.Switch.V1.bin
./ccloader /dev/ttyUSB0 Romik.Switch.V1.bin 1
Выходные контакты:
P20: Выход 1, GPIO, Внешняя подтяжка к +
P21: Выход 2, GPIO, Внешняя подтяжка к +
P22: Выход 3, GPIO, Внешняя подтяжка к +
P13: Выход 4, GPIO, Внешняя подтяжка к +
P12: Выход 5, GPIO, Внешняя подтяжка к +
P17: Выход 6, GPIO, Внешняя подтяжка к +
P16: Выход 7, GPIO, Внешняя подтяжка к +
P15: Выход 8, GPIO, Внешняя подтяжка к +
Входные контакты:
P00: Вход 1, GPIO, Внешняя подтяжка к +, Переключатель, Привязать к выходу 1
P01: Вход 2, GPIO, Внешняя подтяжка к +, Переключатель, Привязать к выходу 2
P04: Вход 3, GPIO, Внешняя подтяжка к +, Переключатель, Привязать к выходу 3
P05: Вход 4, GPIO, Внешняя подтяжка к +, Переключатель, Привязать к выходу 4
P06: Вход 5, DS18B20, Внешняя подтяжка к +
Схема – повторять не нужно – много недоработок.
DipTrace Schematic – zigbee-relay-v1.0
HA
sensor:
- platform: mqtt
unique_id: ZigBeeTempDS18B20
name: "ZigBeeTest Temperature"
state_topic: "tele/ZigBeeTest/SENSOR"
value_template: "{{ value_json.ZbReceived['0xCE98'].AnalogValue | float }}"
unit_of_measurement: "°C"
availability_topic: "tele/ZigBeeTest/LWT"
payload_available: "Online"
payload_not_available: "Offline"
device_class: temperature
- platform: mqtt
unique_id: ZigBeeV1Switch_4
name: ZigBeeV1Switch_4
state_topic: "tele/ZigBeeTest/SENSOR"
value_template: |-
{%- if value_json.ZbReceived is defined and value_json.ZbReceived['0xCE98'] is defined -%}
{%- if value_json.ZbReceived['0xCE98'].Endpoint == 4 -%}
{%- if value_json.ZbReceived['0xCE98'].Power == 1 -%}
ON
{% else %}
OFF
{% endif %}
{% endif %}
{% endif %}
state_on: "ON"
state_off: "OFF"
command_topic: "cmnd/ZigBeeTest/ZbSend"
payload_on: '{ "device":"0xCE98", "Endpoint":4, "send":{"Power":"on"} }'
payload_off: '{ "device":"0xCE98", "Endpoint":4, "send":{"Power":"off"} }'
availability_topic: "tele/ZigBeeTest/LWT"
payload_available: "Online"
payload_not_available: "Offline"
qos: 1
retain: false
Координатор работает прекрасно.
p.s. В исполнительном устройстве нужно отрезать от МОДУЛЯ ножки P24,P23 так как они используются для входа кварца 32.768 и на плате (с нижней стороны) соединить P23-P13,P24-P12.
Координатор Tasmota-ZigBee:
LWT: Для Home-Assistant – Над правилами нужно еще поработать.
Rule
ON zbstate#Status==30 DO publish tele/ZigBeeTest/LWT Online ENDON
ON zbreceived#?#Reachable==false DO publish tele/ZigBeeTest/LWT Offline ENDON
ON zbreceived#0xCE98 DO publish tele/ZigBeeTest/LWT Online ENDON
Включение PerminJoin по кнопке BOOT=GPIO0
rule2 ON Switch1#State=2 DO zbpermitjoin 1 ENDON
p.s. Управление ключами с другой Tasmota:
publish cmnd/ZigBeeTest/zbsend { “device”:”0xCE98″, “Endpoint”:4, “send”:{“Power”:”off”} }
Схема дополнительного модуля: DipTrace Schematic – Replace-CC2530-to-ESP07s
Последняя прошивка 15-06-2022 года.
JSON, Home-Assistant, ZigBee,Tasmota-zigbee
Пример:
{“ZbReceived”:{“0x8982”:{“Device”:”0x8982″,”0006!01″:””,”Power”:1,“Endpoint”:1,”LinkQuality”:117}}}
value_json.ZbReceived[‘0x8982’].Endpoint
1
Так более правильно:
- platform: mqtt
unique_id: ZigBeeV1Switch_8
name: ZigBeeV1Switch_8
state_topic: "tele/ZigBeeTest/SENSOR"
value_template: |-
{%- if value_json.ZbReceived is defined and value_json.ZbReceived['0x8982'] is defined -%}
{%- if value_json.ZbReceived['0x8982'].Endpoint == 8 -%}
{%- if value_json.ZbReceived['0x8982'].Power == 1 -%}
ON
{% else %}
OFF
{% endif %}
{% endif %}
{% endif %}
state_on: "ON"
state_off: "OFF"
command_topic: "cmnd/ZigBeeTest/ZbSend"
payload_on: '{ "device":"0x8982", "Endpoint":8, "send":{"Power":"on"} }'
payload_off: '{ "device":"0x8982", "Endpoint":8, "send":{"Power":"off"} }'
availability_topic: "tele/ZigBeeTest/LWT"
payload_available: "Online"
payload_not_available: "Offline"
qos: 1
retain: false
# ---------------------------------------------