Ноя 052022
 

Дополнительные модули.

ZigBee E18-MS1-PCB/IPX (https://ptvo.info/cc2530-based-zigbee-coordinator-and-router-112/)

Маркировка на плате R1 и R3 – перепутаны !!!

E18-MS1-PCB-Module-Romik-V1.0 (Схема) Schematics

https://ptvo.info/cc2530-based-zigbee-coordinator-and-router-112/

R1,R2 – Запаять для использования порта P0.2(RX),P0.3(TX) как UART
R3,R4 – Запаять для использования порта P1.4(RX),P1.5(TX) как UART
Одновременно запаивать не нужно.

Программирование модуля: https://zigbee.blakadder.com/flashing_ccloader.html

P.S. External sensor power control – it is a special output type. The firmware sets the configured output to the HIGH state before reading a sensor’s value, and sets it to LOW after that. The CC2530 and CC2531 chips allow you to use pins P10 and P11 to supply power up to 20 mA to external sensors.

https://ptvo.info/zigbee-configurable-firmware-features/power-saving-mode/

 Posted by at 14:28
Янв 132022
 

E18-MS1PA1-IPX_Usermanual_EN_v1.1
E18-MS1PA2-IPX_UserManual_EN_v1.2
E18-MS1-PCB

ESP-ZigBee-Input-Module-V1.0.0 (COLOR)

Джамперы установлены для подключения ZigBee модуля к ESP8266/UART0.  Модуль E18-MS1PA1-IPX – Можно запрограммировать как Coordinator или Router, для сети ZigBee.

backlog sensor29 0,2,1; sensor29 1,2,1; sensor29 2,2,1; sensor29 3,2,1
backlog sensor29 4,2,1; sensor29 5,2,1; sensor29 6,2,1; sensor29 7,2,1

backlog SetOption36 0;SetOption65 1;wificonfig 4; SetOption59 1; TimeZone +3;TelePeriod 150

DipTrace Schematic – ESP-ZigBee-Input-Module-V1.0.0

Router: https://github.com/Koenkk/Z-Stack-firmware/tree/master/router/Z-Stack_Home_1.2

Как загрузить: https://zigbee.blakadder.com/zigbee2tasmota.html

ZigBee Router

Программирование через USB при подачи основного питания.

11:54:14.067 ZIG: rebooting CC2530 device
11:54:19.257 ZIG: timeout, goto label 99
11:54:19.259 RSL: RESULT = {“ZbState”:{“Status”:99,”Message”:”Abort”}}
11:54:19.260 ZIG: Abort
11:54:19.261 ZIG: Stopping (99)

Rule on zbstate#status=99 do zbreset 2 endon

 

 

 Posted by at 11:15
Ноя 302021
 

DipTrace Schematic – Replace-CC2530-to-ESP07s

OUTPUT GP4 GP5 GP6 GP7
backlog sensor29 4,5,0; sensor29 5,5,0; sensor29 6,5,0; sensor29 7,5,0

INPUT GP0 GP1 GP2 GP3
backlog sensor29 0,2,1; sensor29 1,2,1; sensor29 2,2,1; sensor29 3,2,1

backlog SetOption36 0;SetOption65 1;wificonfig 4; SetOption59 1; TimeZone +3;TelePeriod 150

На пурпурном модуле добавить землю на MCP23008 !

 

Ноя 112021
 

Вот что получилось.

ZibGee – Tasmota – MQTT Координатор.

 

ZigBee 4 симистора и 4 входа, 4x5v Выходов, DS18B20

Коричневый.

Коричневый+красный

VCC = 3.3V

ZigBee координатор: Rule ON System#Boot do TCPStart 8888 endon

Прошивка https://ptvo.info/

Прошивка: RomikZigBeeSwitch

Как прошить: https://zigbee.blakadder.com/flashing_ccloader.html

Прошивка: 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 года.

Ноя 112021
 

Пример:

{“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
# ---------------------------------------------