{"action":"created","comment":{"url":"https://api.github.com/repos/marvinroger/homie/pulls/comments/132162841","pull_request_review_id":55212086,"id":132162841,"diff_hunk":"@@ -150,16 +150,83 @@ A device attribute MUST be one of these:\n     <td>Yes</td>\n   </tr>\n   <tr>\n-    <td>$stats/uptime</td>\n+    <td>$fw/name</td>\n     <td>Device → Controller</td>\n-    <td>Time elapsed in seconds since the boot of the device</td>\n+    <td>Name of the firmware running on the device. Allowed characters are the same as the device ID</td>\n+    <td>Yes</td>\n+    <td>Yes</td>\n+  </tr>\n+  <tr>\n+    <td>$fw/version</td>\n+    <td>Device → Controller</td>\n+    <td>Version of the firmware running on the device</td>\n     <td>Yes</td>\n     <td>Yes</td>\n   </tr>\n   <tr>\n+    <td>$nodes</td>\n+    <td>Device → Controller</td>\n+    <td>\n+      Nodes the device exposes, with format <code>id</code> separated by a <code>,</code> if there are multiple nodes.\n+    </td>\n+    <td>Yes</td>\n+    <td>Yes</td>\n+  </tr>\n+  <tr>\n+    <td>$implementation</td>\n+    <td>Device → Controller</td>\n+    <td>An identifier for the Homie implementation (example <code>esp8266</code>)</td>\n+    <td>Yes</td>\n+    <td>Yes</td>\n+  </tr>\n+  <tr>\n+    <td>$implementation/#</td>\n+    <td>Controller → Device or Device → Controller</td>\n+    <td>You can use any subtopics of <code>$implementation</code> for anything related to your specific Homie implementation.</td>\n+    <td>Yes or No, depending of your implementation</td>\n+    <td>No</td>\n+  </tr>\n+  <tr>\n     <td>$stats/interval</td>\n     <td>Device → Controller</td>\n-    <td>Interval in seconds at which the <code>$stats/+</code> are refreshed</td>\n+    <td>Interval in seconds at which the <code>$stats/+</code> are refreshed: See next section for details about statistical attributes</td>\n+    <td>Yes</td>\n+    <td>Yes</td>\n+  </tr>\n+</table>\n+\n+For example, a device with an ID of `686f6d6965` with an `outdoor-probe` and a `windsensor` node would send:\n+\n+```java\n+homie/686f6d6965/$homie → \"2.1.0\"\n+homie/686f6d6965/$name → \"Weather station\"\n+homie/686f6d6965/$localip → \"192.168.0.10\"\n+homie/686f6d6965/$mac → \"DE:AD:BE:EF:FE:ED\"\n+homie/686f6d6965/$stats/uptime → \"120\"\n+homie/686f6d6965/$stats/interval → \"60\"\n+homie/686f6d6965/$fw/name → \"weatherstation-firmware\"\n+homie/686f6d6965/$fw/version → \"1.0.0\"\n+homie/686f6d6965/$nodes → \"outdoor-probe,windsensor\"\n+homie/686f6d6965/$implementation → \"esp8266\"\n+homie/686f6d6965/$online → \"true\"\n+```\n+\n+### Device statistics","path":"README.md","position":77,"original_position":77,"commit_id":"b2bc0c3e297c9f0a01eef6c2f53e15a659ff0bdf","original_commit_id":"9e308dfe7a29739cd1a2e0eb782d4ffdb7e18523","user":{"login":"euphi","id":5254983,"avatar_url":"https://avatars3.githubusercontent.com/u/5254983?v=4","gravatar_id":"","url":"https://api.github.com/users/euphi","html_url":"https://github.com/euphi","followers_url":"https://api.github.com/users/euphi/followers","following_url":"https://api.github.com/users/euphi/following{/other_user}","gists_url":"https://api.github.com/users/euphi/gists{/gist_id}","starred_url":"https://api.github.com/users/euphi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/euphi/subscriptions","organizations_url":"https://api.github.com/users/euphi/orgs","repos_url":"https://api.github.com/users/euphi/repos","events_url":"https://api.github.com/users/euphi/events{/privacy}","received_events_url":"https://api.github.com/users/euphi/received_events","type":"User","site_admin":false},"body":"Ah, I thought \"Device Attributes\" was on H3. So, changing Device Statistics to h4 is correct :+1: ","created_at":"2017-08-09T11:58:58Z","updated_at":"2017-08-09T11:58:59Z","html_url":"https://github.com/marvinroger/homie/pull/40#discussion_r132162841","pull_request_url":"https://api.github.com/repos/marvinroger/homie/pulls/40","_links":{"self":{"href":"https://api.github.com/repos/marvinroger/homie/pulls/comments/132162841"},"html":{"href":"https://github.com/marvinroger/homie/pull/40#discussion_r132162841"},"pull_request":{"href":"https://api.github.com/repos/marvinroger/homie/pulls/40"}}},"pull_request":{"url":"https://api.github.com/repos/marvinroger/homie/pulls/40","id":134631607,"html_url":"https://github.com/marvinroger/homie/pull/40","diff_url":"https://github.com/marvinroger/homie/pull/40.diff","patch_url":"https://github.com/marvinroger/homie/pull/40.patch","issue_url":"https://api.github.com/repos/marvinroger/homie/issues/40","number":40,"state":"open","locked":false,"title":"Moved statistics to seperate section and made some clarifications, when to send device attributes.","user":{"login":"euphi","id":5254983,"avatar_url":"https://avatars3.githubusercontent.com/u/5254983?v=4","gravatar_id":"","url":"https://api.github.com/users/euphi","html_url":"https://github.com/euphi","followers_url":"https://api.github.com/users/euphi/followers","following_url":"https://api.github.com/users/euphi/following{/other_user}","gists_url":"https://api.github.com/users/euphi/gists{/gist_id}","starred_url":"https://api.github.com/users/euphi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/euphi/subscriptions","organizations_url":"https://api.github.com/users/euphi/orgs","repos_url":"https://api.github.com/users/euphi/repos","events_url":"https://api.github.com/users/euphi/events{/privacy}","received_events_url":"https://api.github.com/users/euphi/received_events","type":"User","site_admin":false},"body":"","created_at":"2017-08-08T10:55:15Z","updated_at":"2017-08-09T11:58:59Z","closed_at":null,"merged_at":null,"merge_commit_sha":"6f6fe634632dd9a8deba38a1a1c9367e17ab730f","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/marvinroger/homie/pulls/40/commits","review_comments_url":"https://api.github.com/repos/marvinroger/homie/pulls/40/comments","review_comment_url":"https://api.github.com/repos/marvinroger/homie/pulls/comments{/number}","comments_url":"https://api.github.com/repos/marvinroger/homie/issues/40/comments","statuses_url":"https://api.github.com/repos/marvinroger/homie/statuses/b2bc0c3e297c9f0a01eef6c2f53e15a659ff0bdf","head":{"label":"euphi:patch-3","ref":"patch-3","sha":"b2bc0c3e297c9f0a01eef6c2f53e15a659ff0bdf","user":{"login":"euphi","id":5254983,"avatar_url":"https://avatars3.githubusercontent.com/u/5254983?v=4","gravatar_id":"","url":"https://api.github.com/users/euphi","html_url":"https://github.com/euphi","followers_url":"https://api.github.com/users/euphi/followers","following_url":"https://api.github.com/users/euphi/following{/other_user}","gists_url":"https://api.github.com/users/euphi/gists{/gist_id}","starred_url":"https://api.github.com/users/euphi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/euphi/subscriptions","organizations_url":"https://api.github.com/users/euphi/orgs","repos_url":"https://api.github.com/users/euphi/repos","events_url":"https://api.github.com/users/euphi/events{/privacy}","received_events_url":"https://api.github.com/users/euphi/received_events","type":"User","site_admin":false},"repo":{"id":99571653,"name":"homie","full_name":"euphi/homie","owner":{"login":"euphi","id":5254983,"avatar_url":"https://avatars3.githubusercontent.com/u/5254983?v=4","gravatar_id":"","url":"https://api.github.com/users/euphi","html_url":"https://github.com/euphi","followers_url":"https://api.github.com/users/euphi/followers","following_url":"https://api.github.com/users/euphi/following{/other_user}","gists_url":"https://api.github.com/users/euphi/gists{/gist_id}","starred_url":"https://api.github.com/users/euphi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/euphi/subscriptions","organizations_url":"https://api.github.com/users/euphi/orgs","repos_url":"https://api.github.com/users/euphi/repos","events_url":"https://api.github.com/users/euphi/events{/privacy}","received_events_url":"https://api.github.com/users/euphi/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/euphi/homie","description":"📶 A lightweight MQTT convention for the IoT","fork":true,"url":"https://api.github.com/repos/euphi/homie","forks_url":"https://api.github.com/repos/euphi/homie/forks","keys_url":"https://api.github.com/repos/euphi/homie/keys{/key_id}","collaborators_url":"https://api.github.com/repos/euphi/homie/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/euphi/homie/teams","hooks_url":"https://api.github.com/repos/euphi/homie/hooks","issue_events_url":"https://api.github.com/repos/euphi/homie/issues/events{/number}","events_url":"https://api.github.com/repos/euphi/homie/events","assignees_url":"https://api.github.com/repos/euphi/homie/assignees{/user}","branches_url":"https://api.github.com/repos/euphi/homie/branches{/branch}","tags_url":"https://api.github.com/repos/euphi/homie/tags","blobs_url":"https://api.github.com/repos/euphi/homie/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/euphi/homie/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/euphi/homie/git/refs{/sha}","trees_url":"https://api.github.com/repos/euphi/homie/git/trees{/sha}","statuses_url":"https://api.github.com/repos/euphi/homie/statuses/{sha}","languages_url":"https://api.github.com/repos/euphi/homie/languages","stargazers_url":"https://api.github.com/repos/euphi/homie/stargazers","contributors_url":"https://api.github.com/repos/euphi/homie/contributors","subscribers_url":"https://api.github.com/repos/euphi/homie/subscribers","subscription_url":"https://api.github.com/repos/euphi/homie/subscription","commits_url":"https://api.github.com/repos/euphi/homie/commits{/sha}","git_commits_url":"https://api.github.com/repos/euphi/homie/git/commits{/sha}","comments_url":"https://api.github.com/repos/euphi/homie/comments{/number}","issue_comment_url":"https://api.github.com/repos/euphi/homie/issues/comments{/number}","contents_url":"https://api.github.com/repos/euphi/homie/contents/{+path}","compare_url":"https://api.github.com/repos/euphi/homie/compare/{base}...{head}","merges_url":"https://api.github.com/repos/euphi/homie/merges","archive_url":"https://api.github.com/repos/euphi/homie/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/euphi/homie/downloads","issues_url":"https://api.github.com/repos/euphi/homie/issues{/number}","pulls_url":"https://api.github.com/repos/euphi/homie/pulls{/number}","milestones_url":"https://api.github.com/repos/euphi/homie/milestones{/number}","notifications_url":"https://api.github.com/repos/euphi/homie/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/euphi/homie/labels{/name}","releases_url":"https://api.github.com/repos/euphi/homie/releases{/id}","deployments_url":"https://api.github.com/repos/euphi/homie/deployments","created_at":"2017-08-07T11:38:30Z","updated_at":"2017-08-04T15:19:48Z","pushed_at":"2017-08-08T20:09:22Z","git_url":"git://github.com/euphi/homie.git","ssh_url":"git@github.com:euphi/homie.git","clone_url":"https://github.com/euphi/homie.git","svn_url":"https://github.com/euphi/homie","homepage":"https://git.io/homieiot","size":97,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"v2"}},"base":{"label":"marvinroger:redesign","ref":"redesign","sha":"1a5d314692dcc730f6d970664587f0628e27f251","user":{"login":"marvinroger","id":990773,"avatar_url":"https://avatars0.githubusercontent.com/u/990773?v=4","gravatar_id":"","url":"https://api.github.com/users/marvinroger","html_url":"https://github.com/marvinroger","followers_url":"https://api.github.com/users/marvinroger/followers","following_url":"https://api.github.com/users/marvinroger/following{/other_user}","gists_url":"https://api.github.com/users/marvinroger/gists{/gist_id}","starred_url":"https://api.github.com/users/marvinroger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marvinroger/subscriptions","organizations_url":"https://api.github.com/users/marvinroger/orgs","repos_url":"https://api.github.com/users/marvinroger/repos","events_url":"https://api.github.com/users/marvinroger/events{/privacy}","received_events_url":"https://api.github.com/users/marvinroger/received_events","type":"User","site_admin":false},"repo":{"id":45796054,"name":"homie","full_name":"marvinroger/homie","owner":{"login":"marvinroger","id":990773,"avatar_url":"https://avatars0.githubusercontent.com/u/990773?v=4","gravatar_id":"","url":"https://api.github.com/users/marvinroger","html_url":"https://github.com/marvinroger","followers_url":"https://api.github.com/users/marvinroger/followers","following_url":"https://api.github.com/users/marvinroger/following{/other_user}","gists_url":"https://api.github.com/users/marvinroger/gists{/gist_id}","starred_url":"https://api.github.com/users/marvinroger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marvinroger/subscriptions","organizations_url":"https://api.github.com/users/marvinroger/orgs","repos_url":"https://api.github.com/users/marvinroger/repos","events_url":"https://api.github.com/users/marvinroger/events{/privacy}","received_events_url":"https://api.github.com/users/marvinroger/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/marvinroger/homie","description":"📶 A lightweight MQTT convention for the IoT","fork":false,"url":"https://api.github.com/repos/marvinroger/homie","forks_url":"https://api.github.com/repos/marvinroger/homie/forks","keys_url":"https://api.github.com/repos/marvinroger/homie/keys{/key_id}","collaborators_url":"https://api.github.com/repos/marvinroger/homie/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/marvinroger/homie/teams","hooks_url":"https://api.github.com/repos/marvinroger/homie/hooks","issue_events_url":"https://api.github.com/repos/marvinroger/homie/issues/events{/number}","events_url":"https://api.github.com/repos/marvinroger/homie/events","assignees_url":"https://api.github.com/repos/marvinroger/homie/assignees{/user}","branches_url":"https://api.github.com/repos/marvinroger/homie/branches{/branch}","tags_url":"https://api.github.com/repos/marvinroger/homie/tags","blobs_url":"https://api.github.com/repos/marvinroger/homie/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/marvinroger/homie/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/marvinroger/homie/git/refs{/sha}","trees_url":"https://api.github.com/repos/marvinroger/homie/git/trees{/sha}","statuses_url":"https://api.github.com/repos/marvinroger/homie/statuses/{sha}","languages_url":"https://api.github.com/repos/marvinroger/homie/languages","stargazers_url":"https://api.github.com/repos/marvinroger/homie/stargazers","contributors_url":"https://api.github.com/repos/marvinroger/homie/contributors","subscribers_url":"https://api.github.com/repos/marvinroger/homie/subscribers","subscription_url":"https://api.github.com/repos/marvinroger/homie/subscription","commits_url":"https://api.github.com/repos/marvinroger/homie/commits{/sha}","git_commits_url":"https://api.github.com/repos/marvinroger/homie/git/commits{/sha}","comments_url":"https://api.github.com/repos/marvinroger/homie/comments{/number}","issue_comment_url":"https://api.github.com/repos/marvinroger/homie/issues/comments{/number}","contents_url":"https://api.github.com/repos/marvinroger/homie/contents/{+path}","compare_url":"https://api.github.com/repos/marvinroger/homie/compare/{base}...{head}","merges_url":"https://api.github.com/repos/marvinroger/homie/merges","archive_url":"https://api.github.com/repos/marvinroger/homie/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/marvinroger/homie/downloads","issues_url":"https://api.github.com/repos/marvinroger/homie/issues{/number}","pulls_url":"https://api.github.com/repos/marvinroger/homie/pulls{/number}","milestones_url":"https://api.github.com/repos/marvinroger/homie/milestones{/number}","notifications_url":"https://api.github.com/repos/marvinroger/homie/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/marvinroger/homie/labels{/name}","releases_url":"https://api.github.com/repos/marvinroger/homie/releases{/id}","deployments_url":"https://api.github.com/repos/marvinroger/homie/deployments","created_at":"2015-11-08T19:49:28Z","updated_at":"2017-08-04T15:19:48Z","pushed_at":"2017-08-08T20:09:22Z","git_url":"git://github.com/marvinroger/homie.git","ssh_url":"git@github.com:marvinroger/homie.git","clone_url":"https://github.com/marvinroger/homie.git","svn_url":"https://github.com/marvinroger/homie","homepage":"https://git.io/homieiot","size":84,"stargazers_count":218,"watchers_count":218,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":12,"mirror_url":null,"open_issues_count":11,"forks":12,"open_issues":11,"watchers":218,"default_branch":"v2"}},"_links":{"self":{"href":"https://api.github.com/repos/marvinroger/homie/pulls/40"},"html":{"href":"https://github.com/marvinroger/homie/pull/40"},"issue":{"href":"https://api.github.com/repos/marvinroger/homie/issues/40"},"comments":{"href":"https://api.github.com/repos/marvinroger/homie/issues/40/comments"},"review_comments":{"href":"https://api.github.com/repos/marvinroger/homie/pulls/40/comments"},"review_comment":{"href":"https://api.github.com/repos/marvinroger/homie/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/marvinroger/homie/pulls/40/commits"},"statuses":{"href":"https://api.github.com/repos/marvinroger/homie/statuses/b2bc0c3e297c9f0a01eef6c2f53e15a659ff0bdf"}}}}
{"actor":{"display_login":"euphi"}}