-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ANNOUNCEMENT] Zigbee-herdsman: the next zigbee-shepherd #1888
Comments
Nice! |
Just to be clear, it will NOT be included in 1.6, but will be included in the dev branch after the 1.6 release. (we first need some time to test before it can be released). |
Great job! |
That sounds amazing!! |
What will be the optimal hardware (CC2530, ...) for the new version? |
Koen, Thanks for your great work. I still have a love-hate relationship with zigbee. I've quite a large network, about 37 devices, still growing. Stability is increasing because of your hard work. Less devices are getting lost. My network is expanding, 3 floors and a garden. Which never could have happened without zigbee2mqtt! Thanks thanks thanks! |
Can't wait to test this... I have more than 50 Devices, lots of them Xiaomi/Aqara. 👍 Herd is still growing and pairing Xiaomi has become a pain in the #$§!! Maybe, a hint to Donation is useful. Come on Guys: Just think about the difference sending for any given device (f.e. hue vs tradfri)... |
That was on my list. Thanks for reminding. |
Hi Everyone,
I am also working on Zigbee JavaScript file. Could I share it with you?
Nashet Ali
Microsoft Certified Professional,
Coimbatore-Tamil Nadu
…On Sat, 24 Aug 2019, 00:32 Koen Kanters, ***@***.***> wrote:
As some of you have already noticed, lately I've been putting lots of
efforts in refactoring zigbee-shepherd. Zigbee-shepherd is the Javascript
Zigbee library were zigbee2mqtt is based up-on.
My biggest reason to do this is that, in my opinion, zigbee-shepherd was
not maintainable and extensible. This made it very hard to fix bugs and add
new features, which made it hard to take zigbee2mqtt to the next level.
I ended up in completely rewriting zigbee-shepherd from scratch. Because
of that I also gave it a different name, *zigbee-herdsman
<https://github.com/Koenkk/zigbee-herdsman>*. Just to give an idea of the
effort that I've put into it, this job took me 100+ hours spread over 2
months.
Zigbee-herdsman will land into the zigbee2mqtt (dev branch) and
zigbee-shepherd-converters after zigbee2mqtt 1.6. After this
zigbee-shepherd-converters will be renamed to zigbee-herdsman-converters,
as zigbee-shepherd-converters and zigbee-herdsman are not compatible.
*What will I as a user notice from it?*
- Improved stability and predictability
- Improved Xiaomi devices pairing (should be similar to the official
Xiaomi gateway now, even for Mija devices, bye bye Cannot get node
descriptor for... error 😺)
- Improved logging, especially during pairing devices (earlier shows
when a device has been connected and we can now show if a device has been
paired successfully)
- Improved error handling (e.g. unplugging the stick will stop
zigbee2mqtt now)
- (future) Possibility to support other adapters than TI Z-stack
adapters
- (future) Keep track of device bindings
*What will I as a developer notice from it?*
- Written in Typescript; makes it easier to detect errors earlier in
the development process -> less bugs
- 100% test coverage; makes it easier to detect errors earlier in the
development process -> less bugs
- Reduced amount of dependencies (and especially not maintained
dependencies)
- Simplified Zigbee API -> adding devices to
zigbee-shepherd-converters will be easier
- Automatic iAS zone enrolment -> no need to do it in
zigbee-shepherd-converters anymore -> easier to add support for iAS devices
- Push down code from zigbee2mqtt into zigbee-herdsman (= less
zigbee2mqtt code size and other programs based on zigbee-herdsman are able
to benefit from it).
- *Drastically* reduced and simplified zigbee-shepherd codebase:
- From 17231 to 11273 lines (= 35%), but as a big part of the code
are long definition files (example
<https://github.com/Koenkk/zigbee-herdsman/blob/master/src/adapter/z-stack/znp/definition.ts>),
it would be fair to count without these files, resulting in: From 7675 to
3739 lines (*=52% code reduction*)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#1888?email_source=notifications&email_token=AIPEKXOVO6PO34SRNCAAZA3QGAX2TA5CNFSM4IPCPAGKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HHDPC6Q>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AIPEKXNKNJ26URKR6W73PM3QGAX2TANCNFSM4IPCPAGA>
.
|
zigbee-herdsman has now landed in the dev branch, let the testing begin :) |
Hi, Is there any breaking change? I udated dev branch and now cannot start: |
Can you provide the log when running with |
I have some issues with device locking. I'm not sure if it's my setup or not. I have to physically disconnect my USB device and reconnect it before I can restart zigbee2mqtt. |
And it looks like I've just pastebinned my network key... |
@wixoff @Koenkk I can confirm this behavior with CREE Connected bulbs. So long as they are already joined they work fine. I had a couple to add to the network, here's what I did:
|
@r1cht3r same here with GledOpto bulbs. Pairing works fine in 1.5, moving database to 1.6 gives me a full network for a while but loosing contact with some of the bulbs after a few minutes and no way to get it paired again. Last night I ran with 1.5, changing color each 5 minutes and all Gledoptos are still alive. |
@bochelork Can you provide the log when running with |
@Koenkk With a working 1.5 database I started with latest dev. After starting I switched off 7 devices with zibee2mqtt with 0.5 seconds interval. Here I switch off the 230v power of 6 devices, I switch on after 10 seconds. This should announce the devices. Switching off by zigbee2mqtt 7 devices again. Only 2 respond. Reset the bulbs. 5 times 230v power on/off Again switch off by zigbeemqtt, only 1 responds. After this I switched back to 1.5, 5 out of 7 device respond normally. Have to repair the others.... |
@bochelork can you try with: https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/Z-Stack_Home_1.2/bin/source_routing? Before executing your tests make sure to turn each device on/off via zigbee2mqtt once. This ensures that the coordinator knows the routes. |
hi there, giving a try to herdsman/dev, looking very good so far, where are the devices stored ? in states.json ? edit: I think they're stored in states.json, in my z2m start script I used to rm states.json because of #2033. Could you confirm this ? :-) |
Only states are stored there, devices are stored in database.db |
I switched over to try the dev version with "herdsman" but somehow I lost a few devices, they should be connected but don't give any signal and repairing doesn't seem to work. Any thoughts how I can help to give you more additional info to debug this? The devices what I'm trying to repair are Ikea E1746 Signal Repeater, Xiaomi WSDCGQ11LM and a Xiaomi MCCGQ01LM |
Update: SOLVED It seems pairing works best with full batteries :-) The sensor was sending happily with the old battery but pairing was not possible. I'm also having problems repairing Xiaomi Temperature Sensor (Xiaomi WSDCGQ11LM) :-( |
I'm thinking of rebuilding my z2m setup (redoing Home Assistant and the works). How far along is the next release? |
@erazor666 i have using it about 2-3 weeks and it is rock solid. Try it and you will not go back to the original shephard. |
Yes, I have finally eliminated ALL dropped devices using a combination of the latest-dev (post-1.6.0) z2m with zigbee-herdsman and the Zigbee 3.0.x firmware on a CC2531. As @L3H0 said, it's ROCK SOLID. And much faster! |
Hi everyone, I am new to this whole zigbee, mqtt, and linux enviroment... has anyone experimented with the same error? |
@Emma-2409 should be fixed in the zigbee2mqtt dev branch (https://www.zigbee2mqtt.io/how_tos/how-to-switch-to-dev-branch.html) |
Thanks Koenkk, it worked just fine, you have created something wonderful I must say ;) |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
anti-stale |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
As some of you have already noticed, lately I've been putting lots of efforts in refactoring zigbee-shepherd. Zigbee-shepherd is the Javascript Zigbee library were zigbee2mqtt is based up-on.
My biggest reason to do this is that, in my opinion, zigbee-shepherd was not maintainable and extensible. This made it very hard to fix bugs and add new features, which made it hard to take zigbee2mqtt to the next level.
I ended up in completely rewriting zigbee-shepherd from scratch. Because of that I also gave it a different name, zigbee-herdsman. Just to give an idea of the effort that I've put into it, this job took me 100+ hours spread over 2 months.
Zigbee-herdsman will land into the zigbee2mqtt (dev branch) and zigbee-shepherd-converters after zigbee2mqtt 1.6. After this zigbee-shepherd-converters will be renamed to zigbee-herdsman-converters, as zigbee-shepherd-converters and zigbee-herdsman are not compatible.
What will I as a user notice from it?
Cannot get node descriptor for...
error 😺)What will I as a developer notice from it?
The text was updated successfully, but these errors were encountered: