hello Conor, On Fri, Dec 22, 2023 at 03:27:36PM +0000, Conor Dooley wrote: > > > - (honeywell,pmin-pascal && honeywell,pmax-pascal) || honeywell,pressure-triplet > > Yes, it would end up something like that. There are exclusive or examples in tree. > > oneOf: > > - required: > > - honeywell,pmin-pascal > > - honeywell,pmax-pascal > > - required: > > - honeywell,pressure-triplet > > > > but you will want to try all the cases to make sure that works (my ability to > > figure these ones out is tricky). > > > > + you ideally want to exclude them all being set which is fiddlier. > > > > Some similar examples but they are based on a value in the property. I'm not > > sure how you check for it just being defined. > > > > Something along lines of. > > > > allOf: > > - if: > > properties: > > honeywell,pressure-triplet > > then: > > properties: > > honeywell,pmin-pascal: false > > honeywell,pmax-pascal: false > > > > Might work? I always end up trawling the kernel to find a similar example for cases but > > can't find anything closer right now. > > I hate to admit it, but I'm not great at expressing these in the minimum > forms either, but I think you're missing a "required" from here, in place > of the "properties": > allOf: > - if: > required: > - honeywell,pressure-triplet > then: > properties: > honeywell,pmin-pascal: false > honeywell,pmax-pascal: false thank you both for the above ruleset, it works like magic. I spent hours trying to figure out the proper syntax but never got it right. Merry Christmas! peter
Attachment:
signature.asc
Description: PGP signature