Orange Pi Zero 2W,Tasmota,ZigBee,Home Assistant.

  • Orange Pi Zero 2W 4G RAM
  • Tasmota ESP32
  • ZigBee E72-2G4M20S1E (CC2552P) Coordinaror 3.0 (zStack3x0)
  • Home Assistant Supervised
  • 4 x 12 Вольт выхода для внешних реле
  • 4 x Входа для сухих контактов
  • 1 x I2C External Interface
  • WiFi + Ethernet
  • 2 x USB 2.0
  • USB-UART для ESP32, CC2652P, Orange Pi Zero 2W Unix Console
  • RTC DS3231 или другой через I2C Internal Connector
  • JTAG – для CC2652P на плате.
  • Питание 12 Вольт (оно же для внешних реле)
  • Схема Schematic – OrangePiZero2W-HA-Ver-1-0-2023
  • FFC/FPC Шаг: 0.5  Pins: 24
  • Установка  Home Assistant on OrangePi 5


Ethernet LED: if-up and if-down для включение и выключения LED на RJ45

  • /usr/bin/gpio mode 26 output
  • /usr/bin/gpio mode 27 output
  • /usr/bin/gpio write 27 1
  • /usr/bin/gpio write 26 1


Ссылки по теме:

P.S. При программировании ZigBee модуля питание от JTAG программатора не подключать.

Home Assistant:

  • Для уменьшения логов в configuration.yaml добавить logger: default: critical

Tainted: cgroupsv1

echo "extraargs=apparmor=1 security=apparmor" >> /boot/orangepiEnv.txt
sed -i -e "1 s/$/ systemd.unified_cgroup_hierarchy=0/" /boot/orangepiEnv.txt
update-initramfs -u
reboot

Home Assistant – Вывести температуру процесора на дисплей через MQTT Publish.
Tasmota TM1637
topic: cmnd/ha2wESP32/displaytext
payload_template: “{{ states(‘sensor.system_monitor_processor_temperature’)+’^’ }}”

TM1637 or TM1638 – Displayclock 2 – Выводит часа с мигающими точками в формате 24h

payload: {{ states(‘sensor.system_monitor_processor_temperature’)+’^’ }}{{ now().hour}}{{ now().minute }}

Команды Tasmota and Rules

/tasmota/include/tasmota.h

MAX_FRIENDLYNAMES = 8 


SetOption24 Set pressure units : 0 = hPa (default) 1 = mmHg
SetOption146 1 = enable display of ESP32 internal temperature

https://tasmota.github.io/docs/


Rule1
ON system#boot DO backlog var1 0;power0 off ENDON
ON power2#state=1 DO if (var1!=1) ruletimer1 0;var1 1 endif ENDON
ON event#MCPINT_D0=1 DO if (var1==1) var1 2;ruletimer1 10 endif ENDON
ON rules#timer=1 DO Backlog var1 0;power2 off ENDON

Если включить Power2 то включается режим ожидания MCPINT_D0, как только D0=1 то через 10 секунд Power2 выключиться.


Rule1
ON button1#state DO Backlog Power1 %value%; RuleTimer1 600 ENDON
ON Rules#Timer=1 DO Power1 off ENDON

RuleTimer1 600 ENDON
Additionally RuleTimer1 will begin to countdown 10 minutes

ON Rules#Timer=1 DO Power1 off ENDON
After the RuleTimer1 expires the light will be turned off (if you forgot to turn it off)

Выключит Power1 через 10 минут.


When SetOption114 1 all switches are detached from their respective relays and will send MQTT messages instead in the form of {“Switch”:{“Action”:””}}.

SwitchMode 1
Set switch to follow mode (0 = OFF, 1 = ON)

RULE
ON SWITCH1#STATE=1 DO POWER2 OFF ENDON
ON SWITCH1#STATE=0 DO POWER1 ON ENDON


Управление насосом в колодце.

BACKLOG SETOPTION114 1;SWITCHMODE 1

RULE
ON SYSTEM#BOOT DO POWER0 OFF ENDON
ON POWER1#STATE=1 DO POWER2 ON ENDON
ON POWER1#STATE=0 DO POWER2 OFF ENDON
ON POWER2#STATE=1 DO POWER1 ON ENDON
ON POWER2#STATE=0 DO POWER1 OFF ENDON
ON MQTT#DISCONNECTED DO POWER0 OFF ENDON
ON SWITCH1#STATE=1 DO POWER2 OFF ENDON
ON SWITCH1#STATE=0 DO POWER1 ON ENDON

1CH ZigBee switch module-l (без нуля)

Отлично работает со светодиодными или энергосберегающими лампами.
Внутри стоит симистр BTA16.

Тесты:

  • Энергосберегающая 21W – не мерцает
  • Светодиодная 10W – мерцает
  • 2 x Светодиодные Лампы 10W – не мерцают 
  • 3 x Светодиодные Лампы 10W – не мерцают

ZigBee Module для Onion/Tasmota PCB 1.0

 

Тестовая прошивка.(Работает) 2023.04.19 Home-Assistant видит только GPIO выключатели.
Tasmota – Видит BMP280 и DS18B20 и LDR.
https://ptvo.info/


Тип платы: CC2530
Тип устройства: Роутер
Имя производителя: RomikGSMzigBee
Идентификатор модели: GSMzigBeeRouter
Описание расположения: Moscow
Обновить дату и время сборки в прошивке: 2023-04-18
Включить сторожевой таймер (watchdog): Да
Отключить сброс устройства через процедуру включения/выключения: Да
Отключить удаленную настройку интервала во время работы: Да
Индикатор статуса: P01, Подключение или ошибки
Установить интервал отправки отчетов (с): 150

Выходные контакты:
P07: Выход 2, GPIO, Внешняя подтяжка к + (Роль: Универсальный), Запоминать состояние
P06: Выход 3, BMP280 (I2C SDA), Внешняя подтяжка к + (Адрес (десят-ый): 118)
P05: Выход 4, I2C SCL/SPI CLK, Внешняя подтяжка к +
P10: Выход 5, GPIO, Внешняя подтяжка к + (Роль: Универсальный), Запоминать состояние
P13: Выход 6, DS18B20, Внешняя подтяжка к + (Идентификатор сенсора (необязат., шестнад-ый): )
P04: Выход 7, АЦП (макс. 3.3В) (Коэффициент: 1, Сдвиг: 0)

Входные контакты:
P20: Вход 1, Внешнее пробуждение, Внешняя подтяжка к +

Вот так выглядит данные SENSOR на Tasmota.


{"ZbReceived":{"0x7779":{"Device":"0x7779","Power":0,"Endpoint":2,"LinkQuality":111}}}
{"ZbReceived":{"0x7779":{"Device":"0x7779","Power":0,"Endpoint":5,"LinkQuality":111}}}
{"ZbReceived":{"0x7779":{"Device":"0x7779","AnalogValue":99273,"AnalogInDescription":"Pa,00","Endpoint":3,"LinkQuality":111}}}
{"ZbReceived":{"0x7779":{"Device":"0x7779","AnalogValue":28.99,"AnalogInDescription":"C,00","Endpoint":3,"LinkQuality":111}}}
{"ZbReceived":{"0x7779":{"Device":"0x7779","AnalogValue":27.69,"AnalogInDescription":"C,28-FF-64-0E-7E-73-74-32","Endpoint":6,"LinkQuality":111}}}
{"ZbReceived":{"0x7779":{"Device":"0x7779","AnalogValue":3.29,"AnalogInDescription":"V","Endpoint":7,"LinkQuality":111}}}

Дополнительные модули ZigBee E18-MS1-PCB

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

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

P2.0 – Отключить от GND – для работы как Coordintaor ZigBee (Перерезать дорожку)
ДО ВПАИВАНИЯ МОДУЛЯ.

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

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

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

R3,R2 – Запаять для использования порта P0.2(RX),P0.3(TX) как UART (Смотреть на плату)
R1,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/