Sonoff Zigbee Bridge (ZBBridge)

Bár az ITEAD a Sonoff Wifis okos-eszközeivel robbant be a köztudatba, nyilvánvalóan ők is rájöttek arra, hogy az akkumulátoros/elemes használatra nem ez a jó megoldás.

Tavaly már piacra dobtak egy Sonoff Zigbee relét, idén nyáron pedig egy teljes zigbee termékkörrel jelentek meg, úgy mint: nyitás-, mozgás-, hőmérséklet-érzékelő, valamint nyomógombbal. És persze ami ezt mind összefogja: az átjáróval vagyis saját Zigbee Bridge megoldásukkal.
A tesztelésre kapott eszközt az Okosotthon.Bolt.hu biztosította, melyet ez úton is köszönök nekik!

zbbridge.jpg 

Mire jó ez? Arra, hogy maximum 32 Zigbee eszközt elérhetővé tegyen WiFi hálózatról, beállítása a mobilos eWeLink applikáción keresztül lehetséges. Az eszköznek fix (microUSB) 5V tápegység szükséges, adatlap szerint 1A-es, de elmegy bármilyen régi Nokia töltőről is, mivel max 0.1A-es fogyasztást mértem rajta párosításkor. Normál üzemben pedig 0.06A körül fogyaszt csak.
Méretben pont akkora, mint a régebbi Sonoff RF Bridge, és kísértetiesen hasonlít is, csak fekete helyett immár fehér színben pompázik a műanyag ház.

Nézzük először a gyári szoftvert. Ha az eWeLink-et sikerült feltelepítenünk, beregisztrálnunk magunkat, majd belépni a fiókunkba, akkor a + jelre nyomva a Gyors párosítás funkcióval hozzáadhatjuk magát a Bridge-et - nagyrészt - magyar nyelvű varázsló segítségével.

Áram alá helyezése után gyári állapotában párosítási módban van, ha mégsem így lenne, akkor egy hegyes eszközzel az oldalán található kicsi, kör alakú nyíláson keresztül kell nyomva tartani a gombját, amíg el nem kezd villogni. Párosításkor a kék ledje villog, ha sikeres volt, a kék led folyamatosan világít.

ewe1.jpg

Amennyiben sikerrel jártunk, a Bridge eszköz megjelenik az eszközlistánkban, egyelőre még 0 db gyermek (vagyis zigbee) eszközzel.

ewe_br1.jpg

Ha kiválasztjuk a Bridge-et, felbukkan egy új "Hozzáad" gomb, erre kattintva elkezdi keresni a környékbeli párosítási módban levő Zigbee eszközöket, miközben a zöld LED-je villog.

Tippek:

  • először indítsuk el a keresést az alkalmazás segítségével, és csak utána helyezzük a zigbee eszközt párosítási módba, mert van amelyik eszköz hamar kilép belőle
  • helyezzük minél közelebb a Bridge-hez a párosítandó eszközt

Amennyiben sikerült párosítani az eszközt, a Bridge-en belül is meg fog jelenni, illetve egy szinttel kijjebb az összes eszköz között is felbukkan annak ikonja.

ewe_br2.jpg

Xiaomi eszközökkel próbáltam párosítani, de ez - a várakozásoknak megfelelően - nem sikerült. Hiába az 1.2, 3.0 közös Zigbee szabvány, ha vannak külön gyártói paraméterek, opciók. :) (A ZBBridge Zigbee 3.0 szabvány szerinti) Bár állítólag létezik olyan nem-Sonoff zigbee eszköz, amit felismer, kompatibilitás listát nem láttam erről. A Zigbee mesh képességeiről jó tudni, hogy a nem-elemes eszközök hatótávnövelőként is funkcionálnak, ellenben az elemes eszközök csak végpontok, passzív alvó/figyelő módban vannak, hatótávot nem növelnek, ezt érdemes figyelembe venni a tervezési fázisban.

Ennyit a gyári megoldásokról. Jöhet a barkácsolás, ide nekem a csavarhúzót!

A négy öntapadós műanyag talp eltávolítása után a négy csavar eltávolításával megküzdöttem kicsit, a gyárban úgy megtépték őket, hogy feltehetően az örökkévalóságnak szánták...

zbridge_inside.jpg

A lapka nem túl zsúfolt, jól látható bal oldalon az ESP8266 chip, mellette jobbra egy FM25Q16A SPI memória, méghozzá 2MB méretű.
Felül egy aránylag új versenyző kapott helyet, egy EFR32 MG21 Zigbee chip (80Mhz, 96kB memória, 1Mb beépített flash tárhely), ami képességekben méltó társa az ESP-nek, nem úgy, mint a több mint 30 éves technológiát képviselő 8051, amit a belépő szintű Zigbee eszközökbe tesznek. A két eszköz UART kapcsolaton keresztül van összekötve.
Lényeg a lényeghez, hogy ez a chip nemhogy 32, de több mint 100 zigbee al-eszközt is képes lenne kezelni - legalábbis a hardvere képes rá. (Lásd az alternatív chipek erőforrás - eszközszám összefüggéseit a korábbi cikkben)
Ellenben ha jól megnézzük, a bal oldalán jól látható a kihasználatlan SMA csatlakozó, amire igazán tehettek volna egy nagyobbacska antennát, de inkább az integrált áramköri antennát használják. (Ügyes kezű pákászok a kis SMD ellenállás átforrasztásával és egy SMA csatlakozó felforrasztásával pótolhatják ezt a hiányosságot persze, ha minden kötél szakad.) Pedig azt kell mondjam, a házában lenne hely, az RF Bridge esetében két antennát is bele tudtak ugyebár tenni. Jelerősségre valamivel jobb jelszinteket produkál (10-20%), mint a sima CC2530, de nyomába se érhet egy külső antennás CC2538-nak. Egyébként egy korrekten összerakott kis lapkát produkált ismét az ITEAD.

Az eszköz még eléggé új, ennek ellenére a Tasmota fejlesztői már készítettek egy modult, amivel használatba lehet venni az alternatív firmware-el, ám külön felhívják a figyelmet, hogy kísérleti fázisban van a dolog, még fejlesztés alatt áll!

https://zigbee.blakadder.com/Sonoff_ZBBridge.html

Írták azt is, hogy a hegyes normál 2.54-es jumper kábelek vége nem megy be a kis lyukakba, úgyhogy nagyon nem lepődtem meg, amikor szétbontottam a firmware-csere ügyében.
Azt tudni kell rólam, hogy ha nem muszáj forrasztani, én ugyan nem forrasztok. Szóval nem is sokat rágódtam a témán: hogy, hogy nem, UTP kábelem volt itthon, és az ebből kifejtett erek pontosan illettek a megfelelő helyekre, amiket aztán egy laza mozdulattal betoldottam a jumper kábelekbe. A stabilitás kedvéért szokásos bluetack rögzítést tettem a végére, majd mehetett is az USB-be a CP2102!

A GPIO-0-át ne felejtsük GND-re húzni!

bridge_flash.jpg

Bekötési sorrend:

ZBridge UART programozó
ETX RX
ERX TX
IO0 GND
GND GND
3v3 3v3

 

Windows használók a Tasmotizerrel is felküldhetik a Tasmota firmware-t az eszközre, nincs jelentősége. Én előnyben részesítem a Linux alatt is működő parancssori esptool vagy GUI nodemcu-pyflasher programokat, ezek több platformra is elérhetőek.

Első körben meggyőződök arról, hogy a bekötés helyes az alábbi paranccsal:

sudo esptool.py --port /dev/ttyUSB0 flash_id

És igen, a válasz máris jön:

esptool.py v2.8
Serial port /dev/ttyUSB0
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: c8:2b:96:05:d0:50
Uploading stub...
Running stub...
Stub running...
Manufacturer: a1
Device: 4015
Detected flash size: 2MB
Hard resetting via RTS pin...

Látszik az is, hogy igen, 2MB a flash tárhely kapacitása. Ha véletlenül le akarnánk menteni az eredeti firmware-t, itt még megtehetjük az alábbi paranccsal:

sudo esptool.py --port /dev/ttyUSB0 read_flash 0x000000 0x200000 flash_2M.bin

Töltsük le a kifejezetten ehhez készült tasmota-zbbridge firmwaret innen:

https://github.com/arendst/Tasmota/blob/firmware/firmware/tasmota/tasmota-zbbridge.bin?raw=true

Ezzel a paranccsal feltölthetjük:

sudo esptool.py --port /dev/ttyUSB0 write_flash -fm dout 0x0 tasmota-zbbridge.bin

Ha véget ért a folyamat, húzzuk szét az ideiglenes kábelezést, kössük 5v microUSB tápra, ekkor elindul a normál tasmota_xxxxx WiFi AP. Erre bejelentkezve megadhatjuk saját wifi hálózatunk nevét és jelszavát, majd a "Save"-re kattintás után pedig meg fog jelenni a saját hálózatunkon az eszköz.

A Sonoff ZbBridge modul előre ki van választva rajta:

zbbridge_tasmota.jpg

Ám itt még koránt sincs vége a sztorinak, töltsük le az EFR32 friss firmwarét is:

https://github.com/arendst/Tasmota/blob/development/tools/fw_zbbridge/ncp-uart-sw_6.7.6_115200.ota?raw=true

Ezután a "Firmware upgrade" alatt tallózzuk ki ezt a binárist, nyomjunk egy "Start upgrade"-et, majd várjuk meg amíg feltölti, automatikusan újra fog indulni az eszköz, ne zavarjuk a művelet közben.

zb_tasmo_fw.jpg

Ha minden jól ment, a Tasmota Console-ba lépve ilyesmit fogunk látni:

12:59:56 ZIG: Resetting EZSP device
12:59:57 RSL: tele/tasmota_05D050/RESULT = {"ZbState":{"Status":1,"Message":"EFR32 booted","RestartReason":"Power-on","Code":2}}
12:59:57 RSL: tele/tasmota_05D050/RESULT = {"ZbState":{"Status":55,"Version":"6.7.6.0","Protocol":8,"Stack":2}}
12:59:57 RSL: tele/tasmota_05D050/RESULT = {"ZbState":{"Status":3,"Message":"Configured, starting coordinator"}}
12:59:58 ZIG: {"ZbEZSPReceived":"1E0000"}
12:59:59 ZIG: Subscribe to group 0 'ZbListen0 0'

Üssük be ide a:

ZbPermitJoin 1

parancsot, hogy engedélyezzük a párosító üzemmódot. (60 másodperc van rá)

És mik vannak, immár a ZBBridge az említett Xiaomi eszközöket pont úgy felismeri, mint a Sonoff Zigbee eszközöket:

zbbridge_tasmota_devlist.jpg

Támogatott Zigbee eszközök listája:

https://zigbee.blakadder.com/zigbee2tasmota.html

Bár a Zigbee2Tasmota bevallottan a Zigbee2MQTT-re alapul, jelentősen le van egyszerűsítve, hogy ESP chipen képes legyen futni, és nem, nem kompatibilis a kettő egymással.
Egyelőre csak a Home Assistant féle ZHA integrációval működik, de ha Domoticz-hoz elkészülne a Zigpy illesztő, azzal is be lehetne üzemelni. Éppen Node-Red segítségével lehetne küzdeni vele, de egyelőre nem látom, hogy megérné a fáradtságot, így én inkább maradok a jól bevált Zigbee2MQTT-nél.

zbridge_panel.jpg

Ítélet?

Egy korrekten összerakott eszközről van szó, ennek ellenére, aki alternatív firmware-el szeretné használni, szerintem ne siesse el a vásárlást, lássuk mire jutnak a fejlesztéssel.
El tudnám képzelni a Zigbee2MQTT helyett olyan esetben, ha az USB stick helye nem a lakás közepén van, ezt a Sonoff ZBridge-et át lehet helyezni központi helyre, majd rajta keresztül illeszteni a Zigbee eszközeinket. Aki megelégszik a gyári szoftverével és nincsenek DIY ösztönei, bátran válassza az eszközt.

Hazai hivatalos viszonteladó:

 

A bejegyzés trackback címe:

https://bitekmindenhol.blog.hu/api/trackback/id/tr7916183736

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

vampywiz17 2020.09.03. 13:04:50

Par infot tudsz meg esetleg adni?

1. hatotav kb milyen?

2. a supportalt eszkozok megegyeznek a zigbee2mqtt/ZHA-val tamogatottakkal?

eNeS 2020.09.03. 17:25:23

@vampywiz17: 1. igazából az én lakásomat lefedi a normál NYÁK antennás CC2530 is, aminek 20-25méter a hatótávja. Annál ez az EFR32 kb 10-20%-al jobb jelerősségeket ad vissza ugyanolyan eszközök esetén, úgyhogy 30 méterre saccolom. Bár sokan áradoznak róla, de annyira azért nem átütő, az antennás cc2538 kétszer erősebb ennél. Bár mint írtam, külső antennát lehet tenni az EFR32-re némi forrasztással..

2. valamivel talán kevesebb dolgot támogat, itt a teljes lista: zigbee.blakadder.com/zigbee2tasmota.html

mVik 2020.09.08. 12:06:05

Az működhet, hogy a bejövő Zigbee üzeneteket egy Tasmota Rule-al publikáljuk MQTT-n, konkrétan a Domoticz-ban létrehozott virtuális érzékelő idx-ére?
Mondjuk a megadható Rule-ok száma véges, de néhány eszköznél működhet.

eNeS 2020.09.08. 18:22:30

@mVik: Elméletileg működhet, gyakorlatban nem tudom a JSON-t hogyan dolgoznád fel Tasmota Rule-ban?

mVik 2020.09.08. 22:19:53

@eNeS: látni kéne mit ad vissza a Tasmota bejövő Zigbee esetén.
Az RF Bridge-en Portisch firmware generálta RfRaw üzeneteket így küldöm át Domoticz-ba:

on RfRaw#Data do publish domoticz/in {"idx":35,"svalue":"%value%"} endon

Ezt arra tervezem használni, hogy a virtuális redőnykapcsolók állapotát frissítsem Domoticz-ban, ha távirányítóról lettek kapcsolva.
(Ahogy fogalmaztál az Rf Bridge cikk végén, megnéztem milyen mély a nyúl ürege, Domoticzból http-n keresztül vezérlem a Tasmotát, így bármennyi kódot tárolhatok)

Zigbee esetén vhogy azonosítani kéne a bejövő üzenetekből, hogy milyen szenzorhoz tartoznak, és az alapján más-más idx-re küldeni.

eNeS 2020.09.09. 18:31:50

@mVik: ha egyszer lenne kedved írni egy vendégcikket az RFRaw üzenetek Domoticz-ba juttatásáról szólj, jól hangzik. :) A Zigbee2Tasmota ennél jóval bonyolultabb lesz, ha megnézed a tasmota.github.io/docs/Zigbee/ oldalon a "Supported values" részt, felsorolnak vagy 10-et, aztán azzal fejezik be, hogy "And many more..." :D Nem véletlen, hogy külön plugin van az mqtt fordításra Zigbee2MQTT-hoz is, sokféle eszköznek sokféle paramétere van.

De itt van példának okáért a ZBR3:
13:11:51 RSL: tele/tasmota_05D050/SENSOR = {"ZbReceived":{"0x9F9F":{"Device":"0x9F9F","Power":0,"Endpoint":1,"LinkQuality":108}}}

És az SNZB03_
13:17:37 RSL: tele/tasmota_05D050/SENSOR = {"ZbReceived":{"0xAC31":{"Device":"0xAC31","0500<00":"010000000000","ZoneStatusChange":1,"Endpoint":1,"LinkQuality":84}}}
nincs mo13:18:37 RSL: tele/tasmota_05D050/SENSOR = {"ZbReceived":{"0xAC31":{"Device":"0xAC31","0500<00":"000000000000","ZoneStatusChange":0,"Endpoint":1,"LinkQuality":63}}}

Ha a "Device" JSON tartalmára rá lehet szűrni Tasmota Rules-ban, akkor előbbi esetben a Power értéke a relé állapota, utóbbi esetben a ZoneStatusChange értéke a mozgás.

mVik 2020.10.01. 10:14:46

@eNeS: nem nagy truváj, a fentebb említett Tasmota rule-al továbbítom a bejövő RF üzeneteket egy fix IDX-re, ami mögött egy Text device van Domoticz-ban.
Ennek az értékét vizsgálom egy dzvents script-el, és ennek függvényében állítom a virtuális redőnykapcsolók állapotát, mert közben elkészült ez is, és még néhány redőnyvezérlős script:)

Nem is mertem Zigbee pluginban gondolkodni, csak ahogy írtad a JSON alapján hivatkozni a device ID-ra, illetve az eszköz állapotára, ha ez megoldható.

Támogatók:
okosotthon.jpg
allterco.jpg

Utolsó kommentek

  • szenorb: Hello. Bekötöttem 12V-ra , a bemetére egy mozgás érzékelőt kötöttem. Szépen kapcsol a relé a késle... (2023.06.14. 06:48) Shelly okosrelé (Shelly1)
  • Melanoheliophobia: Üdv! Kb. 2 éve vásároltam két ugyanilyen okos izzót. Sajnos az egyik még garancia idő alatt eltávo... (2023.05.03. 16:50) Shelly Vintage okosizzó
  • eNeS: Lehetséges, bár az ESP8266-ot lassan ideje elfelejteni, ha nem helyi hálózatra akarsz vele forgalm... (2023.04.02. 08:43) Tasmota szkriptek
  • eNeS: @tomih: Thonnyban rebootot nyomva nekem se megy az NTP. De mikor lekapcsoltam a Thonnyt és rebooto... (2023.04.02. 08:40) Raspberry Pico és a LAN (W5100S-EVB-Pico)
  • krump_lee: Kedves eNeS! ESP8266 tasmota-val szenvedek, hiemq kapcsolat sehogy nem jön össze, sehol nem talál... (2023.04.02. 08:31) Tasmota szkriptek
  • Utolsó 20

Címkék

433mhz (12) alkatrész (22) alternatív kapcsoló (2) amg8833 (1) analóg (2) android (1) arduinoeasy (5) audio (1) automatizálás (3) bemenet (3) bk7231n (1) ble (1) blitzwolf (4) bluetooth (9) bridge (2) camhi (2) csináld magad (22) dimmer (1) diy (28) do-it-yourself (27) domoticz (11) ds18b20 (1) ebay (3) érintő (2) érintőkapcsoló (7) érzékelő (11) esp-01 (2) esp32 (11) esp8266 (21) espeasy (2) espurna (1) esp projekt (18) Eview7 (1) ewelink (1) feldolgozó (1) felhő (1) fényérzékelő (1) firmware (7) flame detector (1) fogyasztásmérő (5) ftdi (1) füstérzékelő (1) gázérzékelő (1) gpio (1) hang (4) hangjelző (1) hőmérséklet (22) https (1) ikea (1) impulzus relé (1) izzó (2) javascript (1) jelenlétérzékelő (3) kamera (18) keresztkapcsoló (1) kézmozdulat (1) kijelző (3) kimenet (21) konnektor (8) lan (9) lángérzékelő (2) led (3) linux (4) logic level converter (1) lua (1) lux (1) maple mini (2) mcu (3) micropython (1) mikrovezérlő (2) milkv (1) mobil (1) mosfet (1) mozgás (5) mpyeasy (4) mq-2 (2) mqtt (3) működtető rendszer (5) multiroom (1) nedvesség (1) neo (1) neopixel (1) Node-RED (1) nvr (4) nyitás (7) okosház (4) okosizzó (3) okosotthon (8) oled (1) onvif (8) openbeken (1) opencv (1) openwrt (4) orange pi (4) páratartalom (6) php (1) pico (1) pi pico (2) poe (1) programozás (9) projekt (25) proximity olvasó (1) python (2) raspberry (14) raspberry projekt (6) raspbian (1) reed (1) relé (27) rf (2) rgb (6) rock pi (1) rögzítő (2) rp2 (1) rpieasy (1) rtc (1) shelly (24) smartwise (1) solid state relay (1) sonoff (20) SonOTA (1) soros (1) ssl (1) ssr (1) stm32 (4) szenzor (11) szilárdtest relé (1) szintillesztő (2) sziréna (1) szkript (3) szünetmentesítés (4) t1 (1) tasmota (8) távirányító (3) Telegram (1) termékteszt (85) termosztát (2) touch (2) ups (5) usb (7) usb hub (1) valós idejű óra (1) vezérlések (20) vezérlő (5) világítás (5) villanykapcsoló (12) webkamera (1) wiegand (1) wifi (32) ws2812 (1) xiaomi (5) xm (4) xmeye (4) yoosee (1) zigbee (16) zwave (3) Címkefelhő
süti beállítások módosítása