Forum

Forum

Notifications
Clear all

Zigbee nad RPi4

184 Posts
15 Users
14 Likes
19.3 K Views
(@zahry)
Eminent Member
Joined: 4 years ago
Posts: 30
 

@dusanmsk Ahoj, zase otravuji s zigbee bránou, ale před časem mi přišel Slaesh’s CC2652RB stick a rozhodl jsem se přejít na SSD disk. To se mi povedlo v pohodě, ale když jsem znovu instaloval tvoji Zigbee bránu, tak se mi nedaří dobrat konce. Zasekl jsem se už při buildu. Píše to tohle:

Step 1/5 : FROM alpine
---> b6342193e7c0
Step 2/5 : RUN apk update && apk add mosquitto bash
---> Running in d6135145dade
fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/main/armv7/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/community/armv7/APKINDEX.tar.gz
ERROR: https://dl-cdn.alpinelinux.org/alpine/v3.13/main: temporary error (try again later)
WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.13/main: No such file or directory
ERROR: https://dl-cdn.alpinelinux.org/alpine/v3.13/community: temporary error (try again later)
WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.13/community: No such file or directory
2 errors; 14 distinct packages available
The command '/bin/sh -c apk update && apk add mosquitto bash' returned a non-zero code: 2
ERROR: Service 'mosquitto' failed to build : Build failed

 

Nevíš co by s tím mohlo být? Zase to určitě bude nějaká prkotina, ale nevím jak to vyřešit. Moc díky.


   
ReplyQuote
(@cijoml)
Estimable Member
Joined: 6 years ago
Posts: 150
 

@zahry to tam mas napsany No such file or directory - na serveru se takovy soubor/adresar uz nenachazi. Asi musis stahnout novy sources.list a udelat apt update


   
ReplyQuote
msk
 msk
(@dusanmsk)
Member
Joined: 7 years ago
Posts: 1880
Topic starter  

@zahry Mas to nejak rozjebane, teraz som (po pol roku) naklonoval cisty klon z githubu a pustil ./build.sh, zbuildene za 1 min bez kecov. Vymaz si nasosane image toho alpine a rozpracovane kontajnery.

docker image ls

docker image rm <id>

a pusti znova build


   
ReplyQuote
(@kully)
Trusted Member
Joined: 5 years ago
Posts: 80
 

Už jsem sice psal v jiném vlákně, kde zkouším rozjet zigbee podle @L, ale chtěl jsem vyzkoušet i tvůj způsob, který mi zatím taky nejde

Když spustím příkaz ./suite.sh build , tak se zobrazí tato chyba:

WARNING: The LOGGING_DRIVER variable is not set. Defaulting to a blank string.
Building loxone2mqtt
Step 1/9 : FROM node:12-alpine
12-alpine: Pulling from library/node
97518928ae5f: Pull complete
468000513d90: Pull complete
7e4d2470b557: Pull complete
26993460ce45: Pull complete
Digest: sha256:0eca266c5fe38ba93aebac00e45c9ac1bb7328b0702a6dc10e1a6ea543d49301
Status: Downloaded newer image for node:12-alpine
---> 2f014773d54a
Step 2/9 : RUN apk update && apk add wget bash git gettext python make gcc g++ # alpine
---> Running in 767d01ed0e30
fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/community/x86_64/APKINDEX.tar.gz
v3.14.3-47-g31d7bef259 [ https://dl-cdn.alpinelinux.org/alpine/v3.14/main ]
v3.14.3-53-g1af08a4b15 [ https://dl-cdn.alpinelinux.org/alpine/v3.14/community ]
OK: 14942 distinct packages available
ERROR: unable to select packages:
python (no such package):
required by: world[python]
ERROR: Service 'loxone2mqtt' failed to build: The command '/bin/sh -c apk update && apk add wget bash git gettext python make gcc g++ # alpine' returned a non-zero code: 1

a


   
ReplyQuote
msk
 msk
(@dusanmsk)
Member
Joined: 7 years ago
Posts: 1880
Topic starter  

Pozriem na to, rok som na to nesahal.


   
ReplyQuote
msk
 msk
(@dusanmsk)
Member
Joined: 7 years ago
Posts: 1880
Topic starter  

Vyhod python z bridge/loxone2mqtt/Dockerfile a skus znovu. Neviem preco som ho tam pridaval, je to vyse roka, mozno 2 co som na to vobec nesahol.


   
ReplyQuote
(@kully)
Trusted Member
Joined: 5 years ago
Posts: 80
 

Myslíš celý tento řádek ?

RUN apk update && apk add wget bash git gettext python make gcc g++ # alpine

Pak se zobrazí další chyba:

Building loxone2mqtt
Step 1/8 : FROM node:12-alpine
---> 2f014773d54a
Step 2/8 : RUN npm config set user 0; npm config set unsafe-perm true
---> Using cache
---> d267b02e97ae
Step 3/8 : RUN cd /tmp && git clone https://github.com/dusanmsk/node-lox-mqtt-gateway.git nodelox
---> Running in 90c8d21cfbdb
/bin/sh: git: not found
ERROR: Service 'loxone2mqtt' failed to build: The command '/bin/sh -c cd /tmp && git clone https://github.com/dusanmsk/node-lox-mqtt-gateway.git nodelox' returned a non-zero code: 127
This post was modified 2 years ago 2 times by kully

   
ReplyQuote
msk
 msk
(@dusanmsk)
Member
Joined: 7 years ago
Posts: 1880
Topic starter  

@kully Clovece, netusim.

Tu je to cele from scratch:

msk@debian:/tmp/d/loxone$ git clone https://github.com/dusanmsk/loxone.git
msk@debian:/tmp/d/loxone$ cd loxone/
msk@debian:/tmp/d/loxone$ cp config.example config
msk@debian:/tmp/d/loxone$ ./suite.sh build
...
done


   
ReplyQuote
(@kully)
Trusted Member
Joined: 5 years ago
Posts: 80
 

K té chybě jsem našel info tady

Takže jsem upravil bridge/loxone2mqtt/Dockerfile takto:

FROM node:12-alpine

#RUN apt-get update && apt-get install -f wget bash git gettext-base # debian
#RUN apk update && apk add wget bash git gettext python make gcc g++ # alpine

RUN npm config set user 0; npm config set unsafe-perm true

RUN apk update && apk add git
RUN cd /tmp && git clone https://github.com/dusanmsk/node-lox-mqtt-gateway.git nodelox
RUN cd /tmp/nodelox && npm -g install

COPY default.json.template /
COPY run.sh /run.sh
RUN chmod a=rx /run.sh

CMD [ "/bin/sh", "/run.sh" ]

 

a build se udělá. Ten python teda není potřeba ? Na internetu jsem četl, že python už není součásti alpine nebo tak něco.

 

Po spuštění ./suite.sh build s upraveným bridge/loxone2mqtt/Dockerfile se akorát zobrazuje toto varování:

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/usr/share/groovy/lib/groovy-2.4.16.jar) to method java.lang.Object.finalize()
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

Po zadání ./suite.sh run se mi to sice nerozjede, ale zkusím to ještě celé projít

This post was modified 2 years ago 2 times by kully

   
ReplyQuote
msk
 msk
(@dusanmsk)
Member
Joined: 7 years ago
Posts: 1880

   
ReplyQuote
(@kully)
Trusted Member
Joined: 5 years ago
Posts: 80
 

Nevím co dělám špatně, ale spustit mi to nejde.
Jediná webová administrace mi jde otevřít na portu 8882 a v záložce Status nevidím žádné info o zigbee sticku

Version of Zigbee2Mqtt:
Coordinator version:
Coordinator Zigbee Id:

V logu plno zpráv a tyto se opakují nejvíc:

loxone_mqtt2loxone_1 exited with code 1
loxone2mqtt_1 | {"level":"info","message":"MQTT - close"}
loxone2mqtt_1 | {"level":"info","message":"MQTT - close"}
loxone2mqtt_1 | {"level":"info","message":"MQTT - close"}
loxone2mqtt_1 | {"level":"info","message":"MQTT - close"}
zigbee2mqtt_1 | Zigbee2MQTT:error 2021-12-10 21:18:55: Not connected to MQTT server!

   
ReplyQuote
(@budulinek)
Reputable Member
Joined: 7 years ago
Posts: 355
 

Pánové, vyserte se na všelijaké maliny, dockery, MQTT brokery a podobné věci. Na zprovoznění ZigBee Vám stačí ZigBee koordinátor, který přímo propojíte s Loxone. Tady je stručné how-to:

1) Kupte si ZigBee bránu postavenou na ESP32

https://templates.blakadder.com/ewelink_ZB-GW03

dá se koupit tady:

https://www.aliexpress.com/item/1005002935401684.html

k tomu adaptér na flashování:

https://www.aliexpress.com/item/1005001621913221.html

(ten červený)

2) Flashněte tam Tasmotu podle tohoto návodu

https://thehelpfulidiot.com/a-wired-sonoff-zigbee-alternative

Není potřeba nic pájet, nejnovější verze desky ZB-GW03-V1.3 má připravené dírky na konektory. Můžete si na ně snadno napájet piny (jako jsem to udělal já), nebo do nich strčit kablíky při flashování.

IMG 20211212 113806260

Tasmota má modul Zigbee2Tasmota (= alternativa k Zigbee2MQTT), který bohatě stačí. Párování u mě bez problémů, vyčítání hodnot ze senzoru (včetně stavu baterky) taktéž.

3) Propojte s Loxone přes UDP vstupy

Na Tasmotě si nastavte logování do syslog, úroveň 2-info, nasměrujte na IP Loxonu. Tasmota bude posílat změny stavů senzoru (a výsledky vašich HTTP requestů) jako UDP zprávy, parsujete normálně v Loxonu (můžete si parsovat hodnoty senzorů, ale klidně i stav baterie, kvalitu ZigBee signálu...). Viz

https://tasmota.github.io/docs/Zigbee/#reading-sensors

Tasmota samozřejmě umí posílat stavy ZigBee senzorů i přes MQTT, ale je to úplně zbytečné zapínat.

4) Propojte s Loxone přes HTTP výstupy

Na ovládání Tasmoty (a tudíž i připojených ZigBee zařízení) použijte HTTP get requesty. Zatím nemám moc možností to vyzkoušet, zkoušel jsem zatím jenom toto na aktualizaci stavu senzoru:

http://<ip_adresa>/cm?cmnd=ZbStatus3 0x6E28

kde 0x6E28 je ID mého ZigBee senzoru. Další příkazy ke shlédnutí zde:

https://tasmota.github.io/docs/Zigbee/#sending-device-commands

https://tasmota.github.io/docs/Commands/#zigbee

Vlastně, čtení a ovládání ZigBee věcí funguje podobně jako u normální Tasmoty, řešilo se to například už tady:

https://www.vodnici.net/community/loxone-a-arduino/loxone-sonoff-tasmota/

Čus bus


   
Jakub, Kubrt_CZ and Vladiczek reacted
ReplyQuote
l.adamek
(@l-adamek)
Prominent Member
Joined: 7 years ago
Posts: 688
 

Jaky dosah ma ta brana? Popr jde do ni narvat antena?


   
ReplyQuote
msk
 msk
(@dusanmsk)
Member
Joined: 7 years ago
Posts: 1880
Topic starter  

Mne osobne u tychto rieseni vadi, ze do loxone to ide vsetko strasne 'raw'. Vid. hexa id-cka, parsovanie z velkych jsonov atd.... Preto som si napisal vlastnu mini vrstvu, ktora to trochu normalizuje.


   
ReplyQuote
(@budulinek)
Reputable Member
Joined: 7 years ago
Posts: 355
 

@l-adamek

Co se týče dosahu, je to moje první ZB brána, takže nemám s čím porovnávat. Testovací čidlo mám šikmo přes strop a několik stěn, cca 10 metrů a docela v pohodě (= teď funguje OK, ale když jsem čidlo zkoušel v ruce, tak párkrát vynechalo). Taky jsem přemýšlel, jestli by tam nešla narvat silnější anténa, ale nevím. V tomhle se nevyznám.

 

@dusanmsk

Zařízení si samozřejmě můžeš v Tasmotě přejmenovat. Stačí v Tasmotě zadat do konzole příkaz

ZbName 0x6E28 senzor_loznice

Nebo to samé přes HTTP:

 http://<ip_adresa>/cm?cmnd=ZbName  0x6E28 senzor_loznice

No, trochu si protiřečíš. Dlouhé JSONy máme právě proto, abychom nemuseli zápasit se surovými HEX daty (viz Modbus). A abychom mohli intuitivně parsovat. To, co z Tasmoty leze je human-readable. Je to intuitivní a pokud by přece jenom člověk tápal, mají to docela dobře zdokumentované. Žádná minivrstva na filtrování nebo překlad dat není potřeba. Konkrétně dostávám:

{"ZbReceived":{"0x6E28":{"Device":"0x6E28","0500<00":"010000010000","ZoneStatusChange":1,"ZoneStatusChangeZone":1,"Contact":1,"Endpoint":1,"LinkQuality":47}}}

Je to čidlo okna, zajímá me Contact, parsuju v Loxu:

"Device":"0x6E28"\i"Contact":\i\v

 


   
ReplyQuote
Page 6 / 13
Share: