-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Ported Custom Philips Clusters From Herdsman To ModernExtends #8882
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
base: master
Are you sure you want to change the base?
Ported Custom Philips Clusters From Herdsman To ModernExtends #8882
Conversation
2629ee7 to
d62e862
Compare
8dabe6f to
d62e862
Compare
eda9e90 to
d62e862
Compare
618d0f4 to
8e7b203
Compare
047db09 to
8e7b203
Compare
1dde87f to
4933a1c
Compare
| } | ||
|
|
||
| const customCluster = m.deviceAddCustomCluster("manuSpecificPhilips3", { | ||
| const customClusterFC00 = m.deviceAddCustomCluster("manuSpecificPhilips", { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This code is only executed for Philips devices using philipsLight(), there are also e.g. plugs and motion sensors that have these clusters. Maybe we should create a new philipsCustomClusters() modern extend?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the review! I'll get right on it!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This code is only executed for Philips devices using
philipsLight(), there are also e.g. plugs and motion sensors that have these clusters. Maybe we should create a newphilipsCustomClusters()modern extend?
This is looking like a larger job than I expected.
My thoughts so far:
- Cluster
FC00can be stripped out from Light as, I cannot find any light fixture that uses it - I can port Philips only elements from
fromZigbeeandtoZigbeeinto the newmodernExtendslight definition as part of this request (although, I am only seeing ones associated with switches so, this may have already been done)
What I am hesitant on doing (for now) is to do as you suggested and create a new extends definition for Switches which uses the FC00 cluster as part of this PR - I am trying to keep PR's as small and non-monolithic as possible so that things are easier to test (and revert if needed)
My suggestion (if you'd be happy), is for me to do the changes in the bullets above and keep that as the scope of this PR.
Actions for subsequent PR's:
- Create switch
modernExtendsand port FC00 cluster and port definitions from other areas - Remove cluster definitions from Herdsman (done, PR raised)
- Re-Name clusters to more descriptive names
- Add additional cluster attributes / commands that have been documented by Christian in the Bifrost project
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see much risk with adding the custom clusters through the modern extend, could you elaborate more where you got stuck?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe I am just misunderstanding and going off on a tangent.
Here is what I have done so far:
https://github.com/danieledwardgeorgehitchcock/zigbee-herdsman-converters/tree/philips_switch_modern_extends
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would not expect this: danieledwardgeorgehitchcock@2b7cecf
What I expected:
- Add a new modern extend to ,
const philipsModernExtend = { customClusterswhich only does am.deviceAddCustomClusterfor every cluster - Add the modern extend to every Philips device, so every device in
philips.tshasextend: [philips.m.customClusters(), ...] - Also add it to
generated.push(new ExtendGenerator({extend: philips.m.light, args, source: "m.light", lib: "philips"}));
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did think it was a lot! 😂 Hence why I branched..
I will have another go..
There is some stuff I've done though that I may bring over to other PRs.. so, I don't think it's necessarily wasted effort
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you look at
zigbee-herdsman-converters/src/lib/philips.ts
Line 203 in e8acd7f
| customClusterFC00: () => { |
modernExtends concept and out of my comfort zone here :-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
where I have had a go at splitting it out?
I don't understand what you mean with this, could you elaborate a bit more on this?
|
Note to self; after this merge Koenkk/zigbee-herdsman#1326 |
…danieledwardgeorgehitchcock/zigbee-herdsman-converters into philips_modern_extends_clusters
|
This pull request is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days |
|
This isn't stale, but I can't remove the label. @Koenkk, a little help please? :) |
|
This pull request is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days |
bf7848c to
da8e480
Compare
This is a draft pull request intended to begin the moving of
manufacturerSpecificclusters out of the Herdsman Clusters specification and into themodernExtendsformat in preparation for some larger re-factoring taking place for the work done by @chrivers in the Bifrost project.At present, this is just a lift and drop of the cluster specs as they are in Herdsman (will create a separate PR in that repo for removal).
Once I have got this over the line, I will begin porting across the newly documented cluster attributes / commands / responses