{"action":"created","issue":{"url":"https://api.github.com/repos/homieiot/convention/issues/111","repository_url":"https://api.github.com/repos/homieiot/convention","labels_url":"https://api.github.com/repos/homieiot/convention/issues/111/labels{/name}","comments_url":"https://api.github.com/repos/homieiot/convention/issues/111/comments","events_url":"https://api.github.com/repos/homieiot/convention/issues/111/events","html_url":"https://github.com/homieiot/convention/issues/111","id":374748783,"node_id":"MDU6SXNzdWUzNzQ3NDg3ODM=","number":111,"title":"Confusion on device/$state message order","user":{"login":"boc-tothefuture","id":13153815,"node_id":"MDQ6VXNlcjEzMTUzODE1","avatar_url":"https://avatars2.githubusercontent.com/u/13153815?v=4","gravatar_id":"","url":"https://api.github.com/users/boc-tothefuture","html_url":"https://github.com/boc-tothefuture","followers_url":"https://api.github.com/users/boc-tothefuture/followers","following_url":"https://api.github.com/users/boc-tothefuture/following{/other_user}","gists_url":"https://api.github.com/users/boc-tothefuture/gists{/gist_id}","starred_url":"https://api.github.com/users/boc-tothefuture/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/boc-tothefuture/subscriptions","organizations_url":"https://api.github.com/users/boc-tothefuture/orgs","repos_url":"https://api.github.com/users/boc-tothefuture/repos","events_url":"https://api.github.com/users/boc-tothefuture/events{/privacy}","received_events_url":"https://api.github.com/users/boc-tothefuture/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-10-28T12:30:43Z","updated_at":"2018-10-28T17:59:05Z","closed_at":null,"author_association":"NONE","body":"The documentation states (Emphasis is mine):\r\n\r\n> init: this is the state the device is in when it is connected to the MQTT broker, but has not yet sent all Homie messages and is not yet ready to operate. **This is the first message** that must that must be sent.\r\n\r\nThe example right above it shows:\r\n\r\n> homie/super-car/$homie → \"2.1.0\"\r\nhomie/super-car/$name → \"Super car\"\r\nhomie/super-car/$localip → \"192.168.0.10\"\r\nhomie/super-car/$mac → \"DE:AD:BE:EF:FE:ED\"\r\nhomie/super-car/$fw/name → \"weatherstation-firmware\"\r\nhomie/super-car/$fw/version → \"1.0.0\"\r\nhomie/super-car/$nodes → \"wheels,engine,lights[]\"\r\nhomie/super-car/$implementation → \"esp8266\"\r\nhomie/super-car/$stats/interval → \"60\"\r\nhomie/super-car/$state → \"ready\"\r\n\r\nBased on how I interpret the documentation, the example should be:\r\n\r\n```\r\nhomie/super-car/$state → \"init\"\r\nhomie/super-car/$homie → \"2.1.0\"\r\nhomie/super-car/$name → \"Super car\"\r\nhomie/super-car/$localip → \"192.168.0.10\"\r\nhomie/super-car/$mac → \"DE:AD:BE:EF:FE:ED\"\r\nhomie/super-car/$fw/name → \"weatherstation-firmware\"\r\nhomie/super-car/$fw/version → \"1.0.0\"\r\nhomie/super-car/$nodes → \"wheels,engine,lights[]\"\r\nhomie/super-car/$implementation → \"esp8266\"\r\nhomie/super-car/$stats/interval → \"60\"\r\nhomie/super-car/$state → \"ready\"\r\n```\r\nBut then it seems odd to send the state before the version of the protocol?  Is the documentation off or am I interpreting this incorrectly?\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/homieiot/convention/issues/comments/433727063","html_url":"https://github.com/homieiot/convention/issues/111#issuecomment-433727063","issue_url":"https://api.github.com/repos/homieiot/convention/issues/111","id":433727063,"node_id":"MDEyOklzc3VlQ29tbWVudDQzMzcyNzA2Mw==","user":{"login":"lorenwest","id":373538,"node_id":"MDQ6VXNlcjM3MzUzOA==","avatar_url":"https://avatars2.githubusercontent.com/u/373538?v=4","gravatar_id":"","url":"https://api.github.com/users/lorenwest","html_url":"https://github.com/lorenwest","followers_url":"https://api.github.com/users/lorenwest/followers","following_url":"https://api.github.com/users/lorenwest/following{/other_user}","gists_url":"https://api.github.com/users/lorenwest/gists{/gist_id}","starred_url":"https://api.github.com/users/lorenwest/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lorenwest/subscriptions","organizations_url":"https://api.github.com/users/lorenwest/orgs","repos_url":"https://api.github.com/users/lorenwest/repos","events_url":"https://api.github.com/users/lorenwest/events{/privacy}","received_events_url":"https://api.github.com/users/lorenwest/received_events","type":"User","site_admin":false},"created_at":"2018-10-28T17:59:05Z","updated_at":"2018-10-28T17:59:05Z","author_association":"CONTRIBUTOR","body":"Great eagle-eye. If there is to be value in `$state` having both `init` and `ready` values, I think it should be documented to be the 2nd post-connect message, with `$homie` version being the first.\r\n\r\nIf `$homie` version is output first, that gives us the ability to understand the meaning of `$state`, and even have the opportunity to change it in future versions. \r\n\r\nNot that we would, but we could.\r\n"}}
{"actor":{"display_login":"lorenwest"}}