homieiot / convention

🏡 The Homie Convention: a lightweight MQTT convention for the IoT
https://homieiot.github.io/
Other
705 stars 59 forks source link

The documented specification shows an invalid example for Device Attributes #203

Closed cmoore42 closed 1 year ago

cmoore42 commented 4 years ago

Section 7.1.1 in the spec says, "The following device attributes are mandatory and MUST be send, even if it is just an empty string". It then lists the mandatory Device attributes: $homie, $name, $state, $nodes, and $extensions.

This is followed by an example for a "super-car". However, that example does not contain a $extensions topic, which the specification says is mandatory.

cmoore42 commented 4 years ago

I've noticed something else in this example that appears to be invalid. The homie/super-car/$nodes example sets that attribute to "wheels,engine,lights[]". It is not specifically called out, but I believe these values are supposed to be the ID of the nodes that are supported. "lights[]" is not a valid ID according to section 2.1.

mjcumming commented 4 years ago

fixed the example for $extensions. I cannot find the "lights[]" reference. That was part of the convention prior to v4

Thalhammer commented 4 years ago

lights[] used to be a valid id and represented an array which got removed in v4. So its possible the examples where missed during updating.

mjcumming commented 4 years ago

I looked and didn't find any. @cmoore42 if you could point to where the "lights []" reference is I'll fix.

cmoore42 commented 4 years ago

Homie specification online at https://homieiot.github.io/specification/

Section 7.1.1.

At the end of the section, just before 7.1.2, the following example is given:

homie/super-car/$homie → "2.1.0"

homie/super-car/$name → "Super car"

homie/super-car/$nodes → "wheels,engine,lights[]"

homie/super-car/$implementation → "esp8266"

homie/super-car/$state → "ready"

The value for the $nodes attribute is not valid under this version of the spec.

From: Michael Cumming notifications@github.com Sent: Tuesday, May 12, 2020 12:01 PM To: homieiot/convention convention@noreply.github.com Cc: cmoore42 chrismoore@surewest.net; Mention mention@noreply.github.com Subject: Re: [homieiot/convention] The documented specification shows an invalid example for Device Attributes (#203)

I looked and didn't find any. @cmoore42 https://github.com/cmoore42 if you could point to where the "lights []" reference is I'll fix.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/homieiot/convention/issues/203#issuecomment-627532030 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ABBCKDW65C6JVJHXAAOH2CLRRGMHXANCNFSM4M5LWTDA . https://github.com/notifications/beacon/ABBCKDXCT5D4NY5SKGBPQR3RRGMHXA5CNFSM4M5LWTDKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEVTWB7Q.gif

mjcumming commented 4 years ago

@Thalhammer not sure how to fix this, the convention.md file has been fixed but those changes have not propagated to the homie website.

Thalhammer commented 4 years ago

Looks like the website is updated by travis and in fact if you look here, it has. If we would like to have the v4.0.0 version (the default if you click on the spec link) to change, I assume we would need to change the tag to a version that includes the changes.

But we cant simply do that as the master branch already includes other changes that should not be included in 4.0.0. My idea would be to make a branch per version for stuff like typo and grammar fixes. Since they dont really change the spec, I also dont think they should affect the version number.

mjcumming commented 4 years ago

@Thalhammer agree, we need to a process to manage typo/verbiage issues and protocol changes. Happy to do that any way you want.

daenney commented 3 years ago

I just ran into this snafoo too. I was trying to figure out what this lights[] thing was about until I stumbled on this issue. I would be nice if typo/verbiage fixes could make it to the naked https://homieiot.github.io/specification/ and versioned https://homieiot.github.io/specification/spec-core-v4_0_0/ locations

Hypfer commented 2 years ago

This apparently was already fixed in 12453d851b85783dd5323430ce3aa85fcc376641 in 2019.

Unfortunately, that hasn't been deployed yet it seems

mjcumming commented 2 years ago

I don’t see a formal pull request for the change


From: Sören Beye @.> Sent: Tuesday, January 4, 2022 5:56:12 AM To: homieiot/convention @.> Cc: Michael Cumming @.>; Comment @.> Subject: Re: [homieiot/convention] The documented specification shows an invalid example for Device Attributes (#203)

This apparently was already fixed in 12453d8https://github.com/homieiot/convention/commit/12453d851b85783dd5323430ce3aa85fcc376641 in 2019.

Unfortunately, that hasn't been deployed yet it seems

— Reply to this email directly, view it on GitHubhttps://github.com/homieiot/convention/issues/203#issuecomment-1004709676, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAKEYCBDXA6VXAUR3UXXY3DUULG4ZANCNFSM4M5LWTDA. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub. You are receiving this because you commented.Message ID: @.***>

daenney commented 2 years ago

@mjcumming The PR for it was #177. The change is there, it's just not deployed properly everywhere.

Tieske commented 1 year ago

afaict the change were deployed. So closing this.

please reopen if something is still missing.