Comments (24)
Sneak peak: https://www.youtube.com/watch?v=3zI8mg0opzY
from zigbee2mqtt.
Group support has been implemented, feedback or questions about group support can be asked here: #764
from zigbee2mqtt.
Going through the shepherd library docs, seems like is supported. The function is bind/unbind
https://github.com/zigbeer/zigbee-shepherd/wiki#API_bind
So basically grab one endpoint and associate other EP(s) with them. This could be a topic for example
zigbee2mqtt/fan_lounge_a950/bind "fan_masterbedroom_825b"
from zigbee2mqtt.
Is not very clear in zigbee shepherd how to create a group. Because it shows binding two ep, then the other example binding an ep to a group. I would think the group id is created after you first bind two ep. then subsequently you can bind more ep’s to that group Id
from zigbee2mqtt.
sorry i am referring to endpoints as zigbee shepherd mentions, but as i understand only routers should be binded (grouped)? Don't know what would be the purpose of binding endpoints.
This is what i was reading when i was understanding wireshark captures when i found about groups in zigbee
https://www.edn.com/Pdf/ViewPdf?contentItemId=4204960
Maybe we should ask in zigbeer for more clarification
from zigbee2mqtt.
Edit: I see something on the wiki Page:
https://github.com/zigbeer/zigbee-shepherd/wiki
.bind( Bind this endpoint to the other endpoint or to a group with the specified cluster.)
.unbind( Unbind this endpoint from the other endpoint or from a group with the specified cluster.)
Maybe we could use this to build "Groups".
But here you need some Sort of Logic themselves (Build / Delete Group and Add / Remove Device to Group) via mqtt.
Prefered I would say, use some Sort of Node-Red Logic and Parse the Output to Multiple Zigbee Endpoints via this "Bridge".
from zigbee2mqtt.
I agree with @tb-killa that groups is the responsibility of your home automation software (E.G. home assistant/openHAB).
from zigbee2mqtt.
Well it depends, the groups are easy to do in HA but then the bulbs get turned on by one
If in a zigbee group wouldn't they act in sync?
Well, perhaps the bulbs are to be left at the IKEA gateway, end then the zigbee2mqtt can take care of the Xiaomi components.
from zigbee2mqtt.
from zigbee2mqtt.
In my opinion this component should keep it's intended purpose of stateless gateway. The logic and grouping should sit in the "brain" which is usually the "hub". Either homeassistant/hassio or openhab or some other.
from zigbee2mqtt.
Will not be implemented for now. Groups should be created in your home automation software.
from zigbee2mqtt.
Just to comment on this, the sequential turn on/off via home assistant either by group or using the light group platform involves sending the payloads to the mqtt broker, zigbee2mqtt will read one by one, making it not instant. 2 seconds until the last light is off, here is the subscription
Aug 09 11:41:48 zigbee2mqtt/kitchen_1_8ab4/set {"state": "OFF"}
Aug 09 11:41:48 zigbee2mqtt/kitchen_1_8ab4 {"state":"OFF","color_temp":370,"brightness":248}
Aug 09 11:41:48 zigbee2mqtt/kitchen_1_8ab4 {"state":"OFF","color_temp":370,"brightness":248}
Aug 09 11:41:49 zigbee2mqtt/kitchen_2_b44c/set {"state": "OFF"}
Aug 09 11:41:49 zigbee2mqtt/kitchen_2_b44c {"state":"OFF","color_temp":370,"brightness":251}
Aug 09 11:41:49 zigbee2mqtt/kitchen_3_a3a5/set {"state": "OFF"}
Aug 09 11:41:49 zigbee2mqtt/kitchen_2_b44c {"state":"OFF","color_temp":370,"brightness":251}
Aug 09 11:41:49 zigbee2mqtt/kitchen_3_a3a5 {"state":"OFF","color_temp":370,"brightness":250}
Aug 09 11:41:50 zigbee2mqtt/kitchen_3_a3a5 {"state":"OFF","color_temp":370,"brightness":250}
Aug 09 11:41:50 zigbee2mqtt/kitchen_4_b8a5/set {"state": "OFF"}
Aug 09 11:41:50 zigbee2mqtt/kitchen_4_b8a5 {"state":"OFF","color_temp":350}
Aug 09 11:41:50 zigbee2mqtt/kitchen_4_b8a5 {"state":"OFF","color_temp":350}
Aug 09 11:41:48 ha node[16636]: 2018-8-9 11:41:48 INFO Zigbee publish to '0x8418260000018ab4', genOnOff - off - {} - null
Aug 09 11:41:48 ha node[16636]: 2018-8-9 11:41:48 INFO MQTT publish, topic: 'zigbee2mqtt/kitchen_1_8ab4', payload: '{"state":"OFF","color_temp":370,"brightness":248}'
Aug 09 11:41:48 ha node[16636]: 2018-8-9 11:41:48 INFO MQTT publish, topic: 'zigbee2mqtt/kitchen_1_8ab4', payload: '{"state":"OFF","color_temp":370,"brightness":248}'
Aug 09 11:41:49 ha node[16636]: 2018-8-9 11:41:49 INFO Zigbee publish to '0x841826000001b44c', genOnOff - off - {} - null
Aug 09 11:41:49 ha node[16636]: 2018-8-9 11:41:49 INFO MQTT publish, topic: 'zigbee2mqtt/kitchen_2_b44c', payload: '{"state":"OFF","color_temp":370,"brightness":251}'
Aug 09 11:41:49 ha node[16636]: 2018-8-9 11:41:49 INFO Zigbee publish to '0x841826000001a3a5', genOnOff - off - {} - null
Aug 09 11:41:49 ha node[16636]: 2018-8-9 11:41:49 INFO MQTT publish, topic: 'zigbee2mqtt/kitchen_2_b44c', payload: '{"state":"OFF","color_temp":370,"brightness":251}'
Aug 09 11:41:49 ha node[16636]: 2018-8-9 11:41:49 INFO MQTT publish, topic: 'zigbee2mqtt/kitchen_3_a3a5', payload: '{"state":"OFF","color_temp":370,"brightness":250}'
Aug 09 11:41:50 ha node[16636]: 2018-8-9 11:41:50 INFO MQTT publish, topic: 'zigbee2mqtt/kitchen_3_a3a5', payload: '{"state":"OFF","color_temp":370,"brightness":250}'
Aug 09 11:41:50 ha node[16636]: 2018-8-9 11:41:50 INFO Zigbee publish to '0x841826000001b8a5', genOnOff - off - {} - null
the esp milight project uses groups of bulbs to control them and on/off, brightness and color change is instant for a group of bulbs
IMO this should be implemented in zigbee2mqtt, the bottleneck is mqtt. So the automation sw should be sending one payload.
from zigbee2mqtt.
Does that create a group? e.g. after binding, when turning on fan_lounge_a950
does fan_masterbedroom_825b
also turn on?
from zigbee2mqtt.
@subzero79 that looks good and there is also an unbind but how to manage ongoing? Would zigbee2mqtt have to keep a database?
Sent with GitHawk
from zigbee2mqtt.
@Koenkk from what I read in zigbee docs, yes when an ep is turned on, it should also turn the other binded ep. I was trying yesterday to hardcode a bind to test it in zigbee2mqtt but no luck yet.
@ryanbeaton no, as I understand the db is created, updated and maintained by z.shepherd. Zigbee2mqtt doesn’t touch it.
from zigbee2mqtt.
I´v do some research and found some interessting stuff:
First of all: on cc-znp
we have some sort of implementation for Group support:
https://github.com/zigbeer/cc-znp/wiki/6.-Z-Stack-MT-API-Reference-Tables#zdo-indication
ZDO_EXT_REMOVE_GROUP ZDO_EXT_REMOVE_ALL_GROUP ZDO_EXT_FIND_ALL_GROUPS_ENDPOINT ZDO_EXT_FIND_GROUP ZDO_EXT_ADD_GROUP ZDO_EXT_COUNT_ALL_GROUPS
so maybe we could build some debug code for first test.
after that i do some sort of research and search on zigbee-shepherd
source code for stuff like extAddGroup
and found them in the file lib\components\zdo_helper.js
.
But sadly
..
extFindGroup: null,
extAddGroup: null,
extCountAllGroups: null,
``
so its not complete implemented on zigbee shepherd themselve.
As i could see now ... for fully implementation we need help and a lot of work!
Maybe @Koenkk could work on this too if moving is finished ;) ?
from zigbee2mqtt.
@splitice have you already made some investigations for your application?
from zigbee2mqtt.
As i could see from my first point .. HalleyAssist zigbee-shepherd fork doesn´t use modification for group support.
@Koenkk: How i could bring cc-znp into zigbee converter ? i think i got a solution (quick) for testing ..
will share if it work correctly.
from zigbee2mqtt.
We have no interest at this time in developing ZS's group support. We just don't need it for our applications.
That being said I'm pretty sure at-least the ZS af layer (af.js) has group support. I'm not sure about adding and removing though.
from zigbee2mqtt.
Any update on this? Still not on focus for ZS? I would really appreciate this feature as I am using three GU10 spots that I would like to turn on/off at the same time.
Another idea I had was to send a single mqtt message to control multiple devices. Would that speed up things? Message could look something like this:
{
"0x7cb03eaa00aed9e2":{
"state":"OFF"
},
"0x7cb03eaa00aed9e3":{
"state":"OFF"
}
}
from zigbee2mqtt.
Some group work happening in here
#102 (comment)
from zigbee2mqtt.
THIS was the killer feature that made me finally ditch my Sengled hub. Thank you @Koenkk !
A long with this update, I compiled the updated firmware 7ea1da540939e7249f4330d9248fa5e93bfbac8b using the MAX CLIENT variant. So far, it's been pretty good. Lights are turning off simultaneously now.
My setup is with Home Assistant and using the built in integration plugin. Had a few questions though.
When submitting a command to the group, should the devices send back their updated state or does it need to be queried individually?
Background:
I created a custom mqtt light in home assistant and specified the "group" (ie "Bathroom") in the command topic and a single bulb in that group in the state topic (ie "Bathroom Bulb 1"). My bulbs all follow the pattern "group name" + "bulb#" because I created a trigger to listen for the group set topic and fire a python script that will query all light entities matching that pattern and query call mqtt.publish on their states.
Is there a better way of doing this? Not sure if Z2M is going to get further enhancements where individual entities in that group will be queried after setting the group command.
from zigbee2mqtt.
As we add devices should we see an entry for the group in the database? or should the individual database entries pf the devices in the group hold the group id?
I still don't make it work.
edit: I see that we need to reflash the coordinator with a new firmware. Does this fw reduce the number of devices the dongle can hold?
from zigbee2mqtt.
@qosmio @subzero79 soon I will make an issue how to test the groups feature which explains how to use it and how it works. Note that the current MQTT topics are not final (still want to refactor some stuff)
from zigbee2mqtt.
Related Issues (20)
- Incorrect device support for Innr RB 178 T HOT 2
- [New device support]: Tuya TS0225 Human presence sensor HOT 1
- Bticino light switch state flickering
- Not supported device and issue with requesting support - Aeotec Range Extender Zi - Model ZGA001-C15 (EU) HOT 8
- [Feature request]: Z2m groups indicate child entities to home assistant HOT 1
- SLZB-06P7 Router Error HOT 5
- _TZ3000_ctbafvhm backlight mode not working
- [Feature request]: Z2m nested groups
- Received network/route error ROUTE_ERROR_ADDRESS_CONFLICT for "0" HOT 4
- TS0121 / BlitzWolf BW-SHP13 not reporting energy settings HOT 3
- Not able to pair LIDL devices with new versions of zigbee2mqtt
- Disabled option doesn't work HOT 1
- Aqara Water Sensor SJCGQ11LM: unable to register in network if not close to coordinator
- zigbee2mqtt UI in home assistant displays group that is out of sync with its underlying database HOT 1
- Trouble upgrading Home Assistant Zigbee2MQTT add-on v1.35.3-1 to 1.40.1-1 HOT 6
- Useelink SM-AZ713 doesn't 'check-in' with the coordinator periodically?
- Doubled Reporting Line for the same Attribute / Interval values do not change properly
- [New device support]: EGLO/Awox FRAIOLI-Z pendant light
- zigbee2mqtt stoped working HOT 1
- Installing 1.40.1-1 unleashes a nightmare - devices missing - wont onboard some devices HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from zigbee2mqtt.