{"_id":"home-thing","_rev":"34-50b0a399bf8848c4331710310945f96c","name":"home-thing","description":"A module for abstracting network communication between smart devices in a home environment.","dist-tags":{"latest":"0.0.25"},"versions":{"0.0.1":{"name":"home-thing","version":"0.0.1","description":"A basic toolkit for things for the web of things in a home environment.","main":"index.js","scripts":{"test":"moca spec"},"repository":{"type":"git","url":"https://github.com/anskaal/home-thing"},"keywords":["iot","wot","thing"],"author":{"name":"Anders Skaalsveen","email":"npm@swe.no","url":"http://swe.no"},"license":"MIT","bugs":{"url":"https://github.com/anskaal/home-thing/issues"},"homepage":"https://github.com/anskaal/home-thing","dependencies":{"body-parser":"^1.12.0","express":"^4.12.0","node-uuid":"^1.4.2","request":"^2.53.0","socket.io":"^1.3.4","socket.io-client":"^1.3.4","socket.io-stream":"^0.6.0"},"gitHead":"d4ee8a24dfdf829a50b6711e404e21a72ef19a2d","_id":"home-thing@0.0.1","_shasum":"63324d505babf98128109213e8b737766340ee8f","_from":".","_npmVersion":"2.5.0","_nodeVersion":"0.10.36","_npmUser":{"name":"anskaal","email":"npm@swe.no"},"maintainers":[{"name":"anskaal","email":"npm@swe.no"}],"dist":{"shasum":"63324d505babf98128109213e8b737766340ee8f","tarball":"https://registry.npmjs.org/home-thing/-/home-thing-0.0.1.tgz","integrity":"sha512-9vxnkEIBefb6+vavCtJgWkKdSCt9/7O0jX2VhuPXcUDtVmXdEskwUH/RKfn2K1s5OZpw7J4NjKkKV7fUnF8VUg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCmgxYCr60HRd8Y6IKyJE69VqTqp8sHPRECcpYQ6erIygIgBKPE8Ex+UptfnnzetCJPGDuK8Wku/jhXY9q4MAg7TjE="}]}},"0.0.11":{"name":"home-thing","version":"0.0.11","description":"A basic toolkit for things for the web of things in a home environment.","main":"index.js","scripts":{"test":"moca spec"},"repository":{"type":"git","url":"https://github.com/anskaal/home-thing"},"keywords":["iot","wot","thing"],"author":{"name":"Anders Skaalsveen","email":"npm@swe.no","url":"http://swe.no"},"license":"MIT","bugs":{"url":"https://github.com/anskaal/home-thing/issues"},"homepage":"https://github.com/anskaal/home-thing","dependencies":{"body-parser":"^1.12.0","express":"^4.12.0","node-uuid":"^1.4.2","request":"^2.53.0","socket.io":"^1.3.4","socket.io-client":"^1.3.4","socket.io-stream":"^0.6.0"},"gitHead":"777ecd7c2129f081a211685f3b26d2763ab77655","_id":"home-thing@0.0.11","_shasum":"22be5725fdd80f6d98c7c48fbcb9dd951120b191","_from":".","_npmVersion":"2.5.0","_nodeVersion":"0.10.36","_npmUser":{"name":"anskaal","email":"npm@swe.no"},"maintainers":[{"name":"anskaal","email":"npm@swe.no"}],"dist":{"shasum":"22be5725fdd80f6d98c7c48fbcb9dd951120b191","tarball":"https://registry.npmjs.org/home-thing/-/home-thing-0.0.11.tgz","integrity":"sha512-GQfVfG1Z+XBNklbE3Xfp+hkTffJQhQoxq+qGXITN6omCLFAmIXaXJoIFE306NuCx3ybm6aeLzEasb48dYSNf+g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEQG3Cp3D4VXQnjyTBI8q07uCUajtuB6DkBhRfS0RSFMAiEA4uF0zPesXrprt33YHQ7figfvmEc2DSo3Y4T2CjMV+O4="}]}},"0.0.12":{"name":"home-thing","version":"0.0.12","description":"A module for things in a home environment.","main":"index.js","scripts":{"test":"moca spec"},"repository":{"type":"git","url":"https://github.com/anskaal/home-thing"},"keywords":["iot","wot","thing"],"author":{"name":"Anders Skaalsveen","email":"npm@swe.no","url":"http://swe.no"},"license":"MIT","bugs":{"url":"https://github.com/anskaal/home-thing/issues"},"homepage":"https://github.com/anskaal/home-thing","dependencies":{"body-parser":"^1.12.0","express":"^4.12.0","node-uuid":"^1.4.2","request":"^2.53.0","socket.io":"^1.3.4","socket.io-client":"^1.3.4","socket.io-stream":"^0.6.0"},"gitHead":"335d91ae9b1ad03d7864de3f5207d88115495efc","_id":"home-thing@0.0.12","_shasum":"42a87091e3353c71df22b1f78e1e44036b0dbc36","_from":".","_npmVersion":"2.6.1","_nodeVersion":"0.12.0","_npmUser":{"name":"anskaal","email":"npm@swe.no"},"maintainers":[{"name":"anskaal","email":"npm@swe.no"}],"dist":{"shasum":"42a87091e3353c71df22b1f78e1e44036b0dbc36","tarball":"https://registry.npmjs.org/home-thing/-/home-thing-0.0.12.tgz","integrity":"sha512-7Y2ZXJDvE/Q3lN+ojvTVgG9opgK7w/WvpZrJACsHq+8yoAhcpaCJLTJFec6fd03HvMkW9kjvNayitulelLIfNQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDN/JlZ+Wa/rDJAI8POXtu0yF+NuY/rEsXGtQ7KNHxx8AiEArf02vQNbyxZoWIx5a4RAulEDCA2cmFCaJ1Hu8bGcwho="}]}},"0.0.13":{"name":"home-thing","version":"0.0.13","description":"A module for creating smart devices in a home environment.","main":"index.js","scripts":{"test":"moca spec"},"repository":{"type":"git","url":"https://github.com/anskaal/home-thing"},"keywords":["iot","wot","thing"],"author":{"name":"Anders Skaalsveen","email":"npm@swe.no","url":"http://swe.no"},"license":"MIT","bugs":{"url":"https://github.com/anskaal/home-thing/issues"},"homepage":"https://github.com/anskaal/home-thing","dependencies":{"body-parser":"^1.12.0","express":"^4.12.0","node-uuid":"^1.4.2","request":"^2.53.0","socket.io":"^1.3.4","socket.io-client":"^1.3.4","socket.io-stream":"^0.6.0"},"gitHead":"acd2fdf3a2202f302d4ba6889f436d3b07a5d948","_id":"home-thing@0.0.13","_shasum":"68de71d38649803db2ebe8b4f1042c71dc06c01f","_from":".","_npmVersion":"2.6.1","_nodeVersion":"0.12.0","_npmUser":{"name":"anskaal","email":"npm@swe.no"},"maintainers":[{"name":"anskaal","email":"npm@swe.no"}],"dist":{"shasum":"68de71d38649803db2ebe8b4f1042c71dc06c01f","tarball":"https://registry.npmjs.org/home-thing/-/home-thing-0.0.13.tgz","integrity":"sha512-z/NsBEM4nMM49t1wnWiaQCMKhi1YcwZCtOogp1stSIsWle50dwmrJOYiH3gYYowkEXJIPV9NAukekEeuWocBpg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFCaa9Py0sq+a3uZo2TLqgRPfmcofQt+8/9JecP7Gy8PAiEA0/LXwzUGd+jNYEUJl3kgSu2PQyziISwkh4PNDfK3x3U="}]}},"0.0.14":{"name":"home-thing","version":"0.0.14","description":"A module for creating smart devices in a home environment.","main":"index.js","scripts":{"test":"moca spec"},"repository":{"type":"git","url":"https://github.com/anskaal/home-thing"},"keywords":["iot","wot","thing"],"author":{"name":"Anders Skaalsveen","email":"npm@swe.no","url":"http://swe.no"},"license":"MIT","bugs":{"url":"https://github.com/anskaal/home-thing/issues"},"homepage":"https://github.com/anskaal/home-thing","dependencies":{"body-parser":"^1.12.0","express":"^4.12.0","node-uuid":"^1.4.2","request":"^2.53.0","socket.io":"^1.3.4","socket.io-client":"^1.3.4","socket.io-stream":"^0.6.0"},"gitHead":"cbb4c4b0c4c7fe1103be0aed05bd7c12bc734be2","_id":"home-thing@0.0.14","_shasum":"e8fbf517795e482e9ffb64ccc0716261000eac79","_from":".","_npmVersion":"2.6.1","_nodeVersion":"0.12.0","_npmUser":{"name":"anskaal","email":"npm@swe.no"},"maintainers":[{"name":"anskaal","email":"npm@swe.no"}],"dist":{"shasum":"e8fbf517795e482e9ffb64ccc0716261000eac79","tarball":"https://registry.npmjs.org/home-thing/-/home-thing-0.0.14.tgz","integrity":"sha512-k/X9K7AMmHXD0UyBwByLBuZBYcN+11GT6LdNAdXvpFKQNjHvtrUe4OimHvJ3eVbpiwgKVTqDl7ZigA6AsYC1AQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZU0YjI5RPgfSW5IomWYA8rFAwcq8POimRuZ3eYQDUVgIgCWmVcTW4XGYPC3IwLoAfVWpLGAuKULwFr/v1Ey2jzMc="}]}},"0.0.15":{"name":"home-thing","version":"0.0.15","description":"A module for creating smart devices in a home environment.","main":"index.js","scripts":{"test":"moca spec"},"repository":{"type":"git","url":"https://github.com/anskaal/home-thing"},"keywords":["iot","wot","thing"],"author":{"name":"Anders Skaalsveen","email":"npm@swe.no","url":"http://swe.no"},"license":"MIT","bugs":{"url":"https://github.com/anskaal/home-thing/issues"},"homepage":"https://github.com/anskaal/home-thing","dependencies":{"body-parser":"^1.12.0","express":"^4.12.0","node-uuid":"^1.4.2","request":"^2.53.0","socket.io":"^1.3.4","socket.io-client":"^1.3.4","socket.io-stream":"^0.6.0"},"gitHead":"206ecaf7e19460d72f9e1cd1d010c8f7dcb5cb6a","_id":"home-thing@0.0.15","_shasum":"7ccab019963809a3d63d3ceac84df56b8318ab00","_from":".","_npmVersion":"2.6.1","_nodeVersion":"0.12.0","_npmUser":{"name":"anskaal","email":"npm@swe.no"},"maintainers":[{"name":"anskaal","email":"npm@swe.no"}],"dist":{"shasum":"7ccab019963809a3d63d3ceac84df56b8318ab00","tarball":"https://registry.npmjs.org/home-thing/-/home-thing-0.0.15.tgz","integrity":"sha512-MmOy6ACmRik11RFBDsYlV5QhSHqdy2c+zUSrCLkSlTVDejA0gAmBvWTQfWPoJbk4nJAo4GWJgtOtDqqlgqyWxw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGv1RKSfpSumMRYOPF5KdwtyBpxZk5uFy662EP66pjgqAiEA5gs58+L7sI8Lzi2AMvlxCXmyUmV0JSrhsAZzKGm7/Es="}]}},"0.0.16":{"name":"home-thing","version":"0.0.16","description":"A module for creating smart devices in a home environment.","main":"index.js","scripts":{"test":"moca spec"},"repository":{"type":"git","url":"https://github.com/anskaal/home-thing"},"keywords":["iot","wot","thing"],"author":{"name":"Anders Skaalsveen","email":"npm@swe.no","url":"http://swe.no"},"license":"MIT","bugs":{"url":"https://github.com/anskaal/home-thing/issues"},"homepage":"https://github.com/anskaal/home-thing","dependencies":{"body-parser":"^1.12.0","express":"^4.12.0","node-uuid":"^1.4.2","request":"^2.53.0","socket.io":"^1.3.4","socket.io-client":"^1.3.4","socket.io-stream":"^0.6.0"},"gitHead":"55580528ac7d1c98e2526e07fe51d5f43e3049d2","_id":"home-thing@0.0.16","_shasum":"7f7d95227e561956f60f1bd56042069ba5e4559e","_from":".","_npmVersion":"2.7.0","_nodeVersion":"0.12.0","_npmUser":{"name":"anskaal","email":"npm@swe.no"},"maintainers":[{"name":"anskaal","email":"npm@swe.no"}],"dist":{"shasum":"7f7d95227e561956f60f1bd56042069ba5e4559e","tarball":"https://registry.npmjs.org/home-thing/-/home-thing-0.0.16.tgz","integrity":"sha512-/Cgw/a+CsQQW+4htacop/7PHlmUihhLea7LOLCeybN/C0qms7LOvGkdqZL6RDO3lZc9TljLSbLh5KkgeQjYCAg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCMONyGewbfX6tzKKFPdynr9iFGOVS7tgJMTxzadaxUWAIgRYxcGLf77dcOEpb0/AuONgsF5/CHjwy5/cFY/qID5VI="}]}},"0.0.17":{"name":"home-thing","version":"0.0.17","description":"A module for abstracting network communication between smart devices in a home environment.","main":"index.js","scripts":{"test":"moca spec"},"repository":{"type":"git","url":"https://github.com/anskaal/home-thing"},"keywords":["iot","wot","thing"],"author":{"name":"Anders Skaalsveen","email":"npm@swe.no","url":"http://swe.no"},"license":"MIT","bugs":{"url":"https://github.com/anskaal/home-thing/issues"},"homepage":"https://github.com/anskaal/home-thing","dependencies":{"body-parser":"^1.12.0","express":"^4.12.0","node-uuid":"^1.4.2","request":"^2.53.0","socket.io":"^1.3.4","socket.io-client":"^1.3.4","socket.io-stream":"^0.6.0"},"gitHead":"2d27b0ef912a4687571bceaf3451116c5bf9d0fb","_id":"home-thing@0.0.17","_shasum":"a2aa603c37755de511fe15c6a7920e21d6eeac15","_from":".","_npmVersion":"2.7.1","_nodeVersion":"0.12.0","_npmUser":{"name":"anskaal","email":"npm@swe.no"},"maintainers":[{"name":"anskaal","email":"npm@swe.no"}],"dist":{"shasum":"a2aa603c37755de511fe15c6a7920e21d6eeac15","tarball":"https://registry.npmjs.org/home-thing/-/home-thing-0.0.17.tgz","integrity":"sha512-+apMgT5xy4PqsDeJpbkiegbkOz6SFLK94TAVtXpN24s3xEh0iHUeRmWHL/bZNKBjotRxN4YK+z0WtiVoly1Ezw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDt/XbzU92bOPmwr4xKIsmu+GVRABM7vb50THdB/ZtkVAiEA8Jj8KsI1BoRMu5WBZ2iyBUx4eqlu17ZqbaYbAtOh+Bk="}]}},"0.0.18":{"name":"home-thing","version":"0.0.18","description":"A module for abstracting network communication between smart devices in a home environment.","main":"index.js","scripts":{"test":"moca spec"},"repository":{"type":"git","url":"https://github.com/anskaal/home-thing"},"keywords":["iot","wot","thing"],"author":{"name":"Anders Skaalsveen","email":"npm@swe.no","url":"http://swe.no"},"license":"MIT","bugs":{"url":"https://github.com/anskaal/home-thing/issues"},"homepage":"https://github.com/anskaal/home-thing","dependencies":{"body-parser":"^1.12.0","express":"^4.12.0","node-uuid":"^1.4.2","request":"^2.53.0","socket.io":"^1.3.4","socket.io-client":"^1.3.4","socket.io-stream":"^0.6.0"},"gitHead":"8e13eefafcd26b3859ebe4d59357dc0a151cb625","_id":"home-thing@0.0.18","_shasum":"ba663b9021149abd039d3e794636eed8ccdf8d12","_from":".","_npmVersion":"2.7.1","_nodeVersion":"0.12.0","_npmUser":{"name":"anskaal","email":"npm@swe.no"},"maintainers":[{"name":"anskaal","email":"npm@swe.no"}],"dist":{"shasum":"ba663b9021149abd039d3e794636eed8ccdf8d12","tarball":"https://registry.npmjs.org/home-thing/-/home-thing-0.0.18.tgz","integrity":"sha512-Nz2oN1oClSA40pKiJVGz8YLg/GUTeinAGnqF09JCjKo/Cl3hOuKHCgHxV5PMmalO8ymUnzl9OtDX8Go4M7cg5w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDJqQcP42KXyb5CKvQikU03/Asm6qXaiEQXjZLTS1wXUAIhAIfEItoguoAtEJDqI+0Cmd9SzeVauq8mcSYr+8ZajzGb"}]}},"0.0.19":{"name":"home-thing","version":"0.0.19","description":"A module for abstracting network communication between smart devices in a home environment.","main":"index.js","scripts":{"test":"moca spec"},"repository":{"type":"git","url":"https://github.com/anskaal/home-thing"},"keywords":["iot","wot","thing"],"author":{"name":"Anders Skaalsveen","email":"npm@swe.no","url":"http://swe.no"},"license":"MIT","bugs":{"url":"https://github.com/anskaal/home-thing/issues"},"homepage":"https://github.com/anskaal/home-thing","dependencies":{"body-parser":"^1.12.0","express":"^4.12.0","node-uuid":"^1.4.2","request":"^2.53.0","socket.io":"^1.3.4","socket.io-client":"^1.3.4","socket.io-stream":"^0.6.0"},"gitHead":"7237aa34757cc07c5ba21aaa27619d20533930f4","_id":"home-thing@0.0.19","_shasum":"df2406729752eac9f77f47ca540bc143524dbb52","_from":".","_npmVersion":"2.7.1","_nodeVersion":"0.12.0","_npmUser":{"name":"anskaal","email":"npm@swe.no"},"maintainers":[{"name":"anskaal","email":"npm@swe.no"}],"dist":{"shasum":"df2406729752eac9f77f47ca540bc143524dbb52","tarball":"https://registry.npmjs.org/home-thing/-/home-thing-0.0.19.tgz","integrity":"sha512-wC+ZB2Lzmz+x4MTDUleuR9+un1uSiW24aP6iTD2S6H8nW2Qjwi92t5I4VJeOEEFuW6QnwDqpcSW4cSzz1IcmRQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA7xXskfMUUWlBL9jvib6bkXBEcEFikSeotlVLe3eo8jAiAnLRPw48Bdt/pkowkZmBb4yNWOp00Kzi/xVJjJxHpZRg=="}]}},"0.0.20":{"name":"home-thing","version":"0.0.20","description":"A module for abstracting network communication between smart devices in a home environment.","main":"index.js","scripts":{"test":"moca spec"},"repository":{"type":"git","url":"https://github.com/anskaal/home-thing"},"keywords":["iot","wot","thing"],"author":{"name":"Anders Skaalsveen","email":"npm@swe.no","url":"http://swe.no"},"license":"MIT","bugs":{"url":"https://github.com/anskaal/home-thing/issues"},"homepage":"https://github.com/anskaal/home-thing","dependencies":{"body-parser":"^1.12.0","express":"^4.12.0","node-uuid":"^1.4.2","request":"^2.53.0","socket.io":"^1.3.4","socket.io-client":"^1.3.4","socket.io-stream":"^0.6.0"},"gitHead":"01559f3b93591b56fc20dfd33f214138f36383ec","_id":"home-thing@0.0.20","_shasum":"92981775ae1df292225d3f5378f836720126b4eb","_from":".","_npmVersion":"2.7.1","_nodeVersion":"0.12.0","_npmUser":{"name":"anskaal","email":"npm@swe.no"},"maintainers":[{"name":"anskaal","email":"npm@swe.no"}],"dist":{"shasum":"92981775ae1df292225d3f5378f836720126b4eb","tarball":"https://registry.npmjs.org/home-thing/-/home-thing-0.0.20.tgz","integrity":"sha512-pFlhUeVlQFyHTGUqi/aJtVoz2jxJnKjp82Im0w8tbJzSuelobN1qcV9+4Dh56z/2qXmofmA752fRyOOlQikT6g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDuwI8O+i5XRHQBTdiCGb2ZeL6bKiMAtvb4WxyBLdaFRAiBKuZjV4EztmW0VJ5SmqZxgVP4Y6le/WN8Nd8ARXLBz6g=="}]}},"0.0.21":{"name":"home-thing","version":"0.0.21","description":"A module for abstracting network communication between smart devices in a home environment.","main":"index.js","scripts":{"test":"moca spec"},"repository":{"type":"git","url":"https://github.com/anskaal/home-thing"},"keywords":["iot","wot","thing"],"author":{"name":"Anders Skaalsveen","email":"npm@swe.no","url":"http://swe.no"},"license":"MIT","bugs":{"url":"https://github.com/anskaal/home-thing/issues"},"homepage":"https://github.com/anskaal/home-thing","dependencies":{"body-parser":"^1.12.0","express":"^4.12.0","node-uuid":"^1.4.2","request":"^2.53.0","socket.io":"^1.3.4","socket.io-client":"^1.3.4","socket.io-stream":"^0.6.0"},"gitHead":"01559f3b93591b56fc20dfd33f214138f36383ec","_id":"home-thing@0.0.21","_shasum":"3b8b186fff76e47e73562d35e0fb9b6ec24a98a0","_from":".","_npmVersion":"2.7.1","_nodeVersion":"0.12.0","_npmUser":{"name":"anskaal","email":"npm@swe.no"},"maintainers":[{"name":"anskaal","email":"npm@swe.no"}],"dist":{"shasum":"3b8b186fff76e47e73562d35e0fb9b6ec24a98a0","tarball":"https://registry.npmjs.org/home-thing/-/home-thing-0.0.21.tgz","integrity":"sha512-t7M/tNQgQcwKq8esSKGc/aCIfiwVSeKgcWzS8i/iLJZ522mVzpgJM+wruV7lTALlddiV/3K+SRHtbOhDRuNnLw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDx9A0H9fuwIj7gD8ydMzb8E9llFmCKh1kPsrRx9nkn1AiEAuW8U80RHM5N4m9Yil46f2FGV++ABPVN6M3RcpI+mtiM="}]}},"0.0.22":{"name":"home-thing","version":"0.0.22","description":"A module for abstracting network communication between smart devices in a home environment.","main":"index.js","scripts":{"test":"moca spec"},"repository":{"type":"git","url":"https://github.com/anskaal/home-thing"},"keywords":["iot","wot","thing"],"author":{"name":"Anders Skaalsveen","email":"npm@swe.no","url":"http://swe.no"},"license":"MIT","bugs":{"url":"https://github.com/anskaal/home-thing/issues"},"homepage":"https://github.com/anskaal/home-thing","dependencies":{"body-parser":"^1.12.0","express":"^4.12.0","node-uuid":"^1.4.2","request":"^2.53.0","socket.io":"^1.3.4","socket.io-client":"^1.3.4","socket.io-stream":"^0.6.0"},"gitHead":"168d492343e56fab159bd548b299ea0245697111","_id":"home-thing@0.0.22","_shasum":"615d78004f9f745f94b3ac03b37112dfcaa80c4a","_from":".","_npmVersion":"2.7.1","_nodeVersion":"0.12.0","_npmUser":{"name":"anskaal","email":"npm@swe.no"},"maintainers":[{"name":"anskaal","email":"npm@swe.no"}],"dist":{"shasum":"615d78004f9f745f94b3ac03b37112dfcaa80c4a","tarball":"https://registry.npmjs.org/home-thing/-/home-thing-0.0.22.tgz","integrity":"sha512-dSVe0JjlVnhyns7y84ERrSNUQtrqeSafrna36FfQgl5QrqPWvBINApYEZmgbf3+Mia0d0ww/1eTlPxMtfKONEw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD0KELmedQOqnymfX731LHS6X/Az9+EtVzMGc4mpP/TNgIgKQCbwo95+qlTUJIK1SAxn3KdrR76V0Ji09h1w6R5hE8="}]}},"0.0.23":{"name":"home-thing","version":"0.0.23","description":"A module for abstracting network communication between smart devices in a home environment.","main":"index.js","scripts":{"test":"moca spec"},"repository":{"type":"git","url":"https://github.com/anskaal/home-thing"},"keywords":["iot","wot","thing"],"author":{"name":"Anders Skaalsveen","email":"npm@swe.no","url":"http://swe.no"},"license":"MIT","bugs":{"url":"https://github.com/anskaal/home-thing/issues"},"homepage":"https://github.com/anskaal/home-thing","dependencies":{"body-parser":"^1.12.0","express":"^4.12.0","node-uuid":"^1.4.2","request":"^2.53.0","socket.io":"^1.3.4","socket.io-client":"^1.3.4","socket.io-stream":"^0.6.0"},"gitHead":"98c21dae595a0bb17fab0a8a53155a63ffa8104b","_id":"home-thing@0.0.23","_shasum":"7d8a9fde8fa0397aa2750bee987c47f4fe9d64e6","_from":".","_npmVersion":"2.7.1","_nodeVersion":"0.12.0","_npmUser":{"name":"anskaal","email":"npm@swe.no"},"maintainers":[{"name":"anskaal","email":"npm@swe.no"}],"dist":{"shasum":"7d8a9fde8fa0397aa2750bee987c47f4fe9d64e6","tarball":"https://registry.npmjs.org/home-thing/-/home-thing-0.0.23.tgz","integrity":"sha512-rEpwU0ycvh97BgQSU51o3WL4bLKMXIz1+hj9/1R6ybMYA+Rvjll32Y/UEVInjs5eD3MKh679SgjAQg7XqrtzXg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3y0bcGocgDK8x+qZV43rggPkYUXvMMbJka0Nu6p5QKgIhANKWZo7mv+/orOq/LVLP/nsfJ3ehzD8LpE9MTOyYqwNa"}]}},"0.0.24":{"name":"home-thing","version":"0.0.24","description":"A module for abstracting network communication between smart devices in a home environment.","main":"index.js","scripts":{"test":"moca spec"},"repository":{"type":"git","url":"https://github.com/anskaal/home-thing"},"keywords":["iot","wot","thing"],"author":{"name":"Anders Skaalsveen","email":"npm@swe.no","url":"http://swe.no"},"license":"MIT","bugs":{"url":"https://github.com/anskaal/home-thing/issues"},"homepage":"https://github.com/anskaal/home-thing","dependencies":{"body-parser":"^1.12.0","express":"^4.12.0","node-uuid":"^1.4.2","request":"^2.53.0","socket.io":"^1.3.4","socket.io-client":"^1.3.4","socket.io-stream":"^0.6.0"},"gitHead":"56092e423cee54549de54eed34bbcecf8b65ef61","_id":"home-thing@0.0.24","_shasum":"8b51160d6036b99bcda5a5c976d083af0fbd97e2","_from":".","_npmVersion":"2.7.1","_nodeVersion":"0.12.0","_npmUser":{"name":"anskaal","email":"npm@swe.no"},"maintainers":[{"name":"anskaal","email":"npm@swe.no"}],"dist":{"shasum":"8b51160d6036b99bcda5a5c976d083af0fbd97e2","tarball":"https://registry.npmjs.org/home-thing/-/home-thing-0.0.24.tgz","integrity":"sha512-MpGoIDCENcFo+pVXL5ZAmh++KLsq5virJEJdFN8UW0/UY4DNXGPRsym5WsSUDQ5t2OJGNfIxVoYcBJ/0p6SJ9g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBYZN5auzNh/OnwTwy9yND1pb1anKKvfvgyiXYHBEDWXAiEAvTjkLqJy9npHh5Sm0YatkjUmMR3ukX1EhRiMU4IwVkI="}]}},"0.0.25":{"name":"home-thing","version":"0.0.25","description":"A module for abstracting network communication between smart devices in a home environment.","main":"index.js","scripts":{"test":"moca spec"},"repository":{"type":"git","url":"https://github.com/anskaal/home-thing"},"keywords":["iot","wot","thing"],"author":{"name":"Anders Skaalsveen","email":"npm@swe.no","url":"http://swe.no"},"license":"MIT","bugs":{"url":"https://github.com/anskaal/home-thing/issues"},"homepage":"https://github.com/anskaal/home-thing","dependencies":{"body-parser":"^1.12.0","express":"^4.12.0","node-uuid":"^1.4.2","request":"^2.53.0","socket.io":"^1.3.4","socket.io-client":"^1.3.4","socket.io-stream":"^0.6.0"},"gitHead":"366d23bbfe32b91a4bbf0dda175558cd9472b576","_id":"home-thing@0.0.25","_shasum":"c2cffddc1a557b3a7c86a7cd6088eaed83e6d04b","_from":".","_npmVersion":"2.7.1","_nodeVersion":"0.12.0","_npmUser":{"name":"anskaal","email":"npm@swe.no"},"maintainers":[{"name":"anskaal","email":"npm@swe.no"}],"dist":{"shasum":"c2cffddc1a557b3a7c86a7cd6088eaed83e6d04b","tarball":"https://registry.npmjs.org/home-thing/-/home-thing-0.0.25.tgz","integrity":"sha512-psKuoEotOAjELHkiwdJsU3/f3ONKIe/SgNRbqfnEoxat6WzqK8sFuRMeI+HqWAK54GjvEF50fNZM0XJ92Ag20w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFhZ8G7Q/pj73j2+5We/R7QMBjCSRLtMtZV80nwCniSvAiEAvkb1hzl+Ke+9GM2SKhPbESuGjNa4ZZDNW2hh7XjHhc4="}]}}},"readme":"# home-thing\nA module for npm\n\nInstall\n=======\n\nFrom git:\n```bash\nnpm install\n```\n\n\n\nHow to set up\n-------------\n```js\nvar name = \"Example Thing\";\nvar description = \"A smart device that is being tested.\";\n\nvar app = require(\"home-thing\")(name, desription);\n```\n\nHow to get the value of a property called value on another device:\n```js\n\nvar propertyName = \"volume\";\n\napp.on(\"new peer\", function(peer){\n\n  peer.getProperties(function(property){\n\n    property[propertyName].get(function(value){\n    \n      console.log(propertyName + \" = \" + value);\n      \n    });\n    \n  });\n  \n});\n\n```\n\n\nStructure\n=========\n\n - [HomeThing](#homething)\n - [Peer](#peer)\n - [Property](#property)\n - [Stream](#stream)\n - [Subscription](#subscription)\n\n\n\n\n\n\n\n\nHomeThing\n---------\n\n```js\nvar name = \"My Smart Device\";\nvar description = \"This is the coolest Smart Device\";\n\nvar app = require(\"home-thing\")(name, description);\n```\n\nThis is the main-object that should only exist in one instance\non the computer. The technical reason for this, is that the\ndiscovery mechanism requires reservation of port 50000.\nIn the examples of the following documentation, the variable\nname app is used for holding this object.\n\n##### Methods\n\n - [addProperty()](#add-property)\n - [addStream()](#add-stream)\n - [getPeers()](#get-peers)\n - [end()](#end)\n - [on()](#on)\n - [removeProperty()](#remove-property)\n - [removeStream()](#remove-stream)\n\n---\n\n### Add Property\n\n```js\nobject addProperty (name, type, description, methods)\n```\n\n| Type   | Parameter   | Description                                   |\n|:-------|:------------|:----------------------------------------------|\n| String | name        | Name of the property                          |\n| String | type        | \"boolean\", \"number\", \"text\", \"list\", \"object\" |\n| String | description | A short textual description of the property.  |\n| Object | methods     | Object with \"get\" and \"set\" functions.        |\n  \nWithout anything to share, smart devices are not very interesting.\nThe addProperty method allows adding of properties like temperature\nand power state for instance.\n\nIn order to share a property with the other smart devices on\nthe network, a get-function must be declared. This function must be able to\nreturn the internal property value when requested by other peers. \nIf you want to enable other devices to also change the value, you must\nalso provide a set-function. For more information about this, see the examples below.\n\nIn addition to the functions, the property's name, type and description must also be provided \naccording to the table above.\n\nNote that property names are not case sensitive. Also, the object returned \ncontains get- and set-functions similarly to what you declared except for one \nimportant difference; they also notify subscribing peers' listeners when the value change. \n\n##### Example 1\n\n```js\n\n// This is the variable that will be made externally available.\nvar volume = 0;\n\nvar volumeProperty = app.addProperty(\"volume\", \"number\", \"Volume of computer\", {\n\n  // The get method must use a callback method when returning the value.\n  'get' : function(callback){\n    callback(volume);\n  },\n  \n  // The set method must also use a callback method.\n  'set' : function(value, callback){\n    volume = value;\n    callback();\n  }\n});\n  \n```\n\nAnother way to do the same:\n\n##### Example 2\n\n```js\n\nfunction VolumeProperty(){\n\n  // This is the variable that will be made externally available.\n  var internalValue = 0;\n\n  // The get method must use a callback method when returning the value.\n  this.get = function(callback){\n    callback(internalValue);\n  };\n  \n  // The set method must also use a callback method.\n  this.set = function(volume, callback){\n    internalValue = volume;\n    callback();\n  };\n  \n}\n\nvar name = \"volume\";\nvar type = \"number\";\nvar desc = \"Volume of computer\";\n\nvar volumeProperty = app.addProperty(name, type, desc, new VolumeProperty());\n  \n```\n\n---\n\n### Add Stream\n\n```js\nvoid addStream (name, description, stream)\n```\n\n| Type   | Parameter   | Description                                |\n|:-------|:------------|:-------------------------------------------|\n| String | name        | Name of the stream.                        |\n| String | description | A short textual description of the stream. |\n| Object | stream      | The stream-object containing stdout.       |\n\nNot all data can be described sufficiently by properties. \nTherefore, this module are able to share streams over the WebSocket protocol.\nThe addStream method allows your device to share internal data streams with other devices.\nThis can for instance be a video streamed from a web camera or the output \nof a bash script. Sharing of streams enables creation of processing pipelines \nacross the network. \n\n##### Example\n\n```js\n// This allows us to spawn child processes.\nvar terminal = require('child_process');\n\n// We start ffmpeg which will access the video device and pipe it to stdout in avi format\nvar stream = terminal.spawn(\"ffmpeg\", [\"-i\",\"/dev/video0\",\"-f\",\"avi\",\"-\"]);\n\n// Publishing the stream, making it visible for other devices on the network\napp.addStream(\"video\", \"Video from webcam\", stream.stdout);\n\n```\n\n---\n\n### End\n\n```js\nvoid end ()\n```\n\nThe end method shuts down the module and sends disconnect signal to all devices on the network.\n\n---\n\n### Get Peers\n\n```js\nArray getPeers ()\n```\n\nThe getPeers method returns all avaiable peers on the network as objects in an array from an internal cache.\nThe peers returned here are smart devices that responded to the network discovery on start up\nin addition to smart devices that later broadcasted their presence on the network.\n\n##### Example\n\n```js\nvar peers = app.getPeers();\n\n// Print out Array of peer objects\nconsole.dir(peers);\n```\n\n---\n\n\n### On\n\n```js\nvoid on (eventName, callback(object))\n```\n\n| Type     | Parameter   | Description                                       |\n|:---------|:------------|:--------------------------------------------------|\n| String   | eventName   | \"new peer\"                                        |\n| Function | callback    | A function that will run when event is triggered. | \n\nThe on method allows you to build event driven execution of tasks.\nThe supported listeners are listed in the table above.\n\n##### Example\n\n```js\napp.on(\"new peer\", function(peer){\n\n  // Prints peer objects of all new peers\n  console.dir(peer);\n});\n```\n  \n---  \n  \n  \n### Remove Property\n\n```js\nvoid removeProperty (name)\n```\n\n| Type   | Parameter | Description              |\n|:-------|:----------|:-------------------------|\n| String | name      | The name of the property | \n  \nThe removeProperty method allows you to remove previously created properties.\n\n##### Example\n\n```js\n// Removing a previously added property called volume\napp.removeProperty(\"volume\");\n```\n\n---\n\n### Remove Stream\n\n```js\nvoid removeStream (name)\n```\n\n| Type   | Parameter | Description            |\n|:-------|:----------|:-----------------------|\n| String | name      | The name of the stream | \n  \nThe removeStream method allows you to unpublish a stream.\n\n##### Example\n\n```js\n// Removing a previously added stream called video\napp.removeStream(\"video\");\n```\n\n--------------------------------------------------------------------------------\n\n\n\n\n\n\nPeer\n----\n\nThe Peer object represents a smart device on the network.\n\n```js\nvar peers = app.getPeers();\nfor(var peer in peers){\n  \n  ...\n}\n```\n\n##### Methods\n\n - [addSubscription()](#add-subscription)\n - [getDetails()](#get-details)\n - [getProperties()](#get-properties)\n - [getStreams()](#get-streams)\n - [on()](#on-1)\n\n---\n\n### Add Subscription\n\n```js\nObject addSubscription (property, callback)\n```\n\n| Type     | Parameter | Description                                          |\n|:---------|:----------|:-----------------------------------------------------|\n| String   | property  | Name of the property                                 | \n| Function | callback  | The function that will run when property is changed. |\n\nThe addSubscription method enables a smart device to subscribe to changes of a\nproperty on another device. \n\n##### Example\n\n```js\npeer.addSubscription(\"volume\", function(data){\n  // Prints out new data every time a update notification is received.\n  console.dir(data);\n});\n\n```\n\n---\n\n### Get Details\n\n```js\nvoid getDetails (callback(object))\n```\n\n| Type     | Parameter | Description                                            |\n|:---------|:----------|:-------------------------------------------------------|\n| Function | callback  | The function that will run when the new value returns. |\n\nThe getDetails method requests basic details such as name and description from \nthe smart device.\n\n##### Example\n\n```js\npeer.getDetails(function(details){\n  // Prints out peer's basic details like name and description.\n  console.dir(details);\n});\n```\n\n---\n\n### Get Properties\n\n```js\nvoid getProperties (callback(Array))\n```\n\n| Type     | Parameter | Description                                          |\n|:---------|:----------|:-----------------------------------------------------|\n| Function | callback  | The function that will run when the details returns. |\n\nThe getProperties method returns an array of [Property objects](#property).\n\n##### Example\n\n```js\npeer.getProperties(function(properties){\n  // Prints out peer's properties.\n  console.dir(properties);\n});\n```\n  \n---\n  \n### Get Streams\n\n```js\nvoid getStreams (callback(object))\n```\n\n| Type     | Parameter | Description                                                |\n|:---------|:----------|:-----------------------------------------------------------|\n| Function | callback  | The function that will run when a list of streams returns. |\n\n##### Example\n\n```js\npeer.getStreams(function(streams){\n  // Prints out peer's published streams.\n  console.dir(streams);\n});\n```\n\n---\n \n### On\n\n```js\nvoid on (eventName, callback)\n```\n\n| Type     | Parameter | Description                                             |\n|:---------|:----------|:--------------------------------------------------------|\n| String   | eventName | \"disconnect\", \"structure change\"                        |\n| Function | callback  | The function that will run when the event is triggered. |\n\n##### Example\n\n```js\npeer.on(\"disconnected\", function(){\n  console.log(\"This peer just disconnected\");\n});\n```\n\n--------------------------------------------------------------------------------\n \n \nProperty\n--------\n\nThe property object is a local handler for an external resource. \n\n\n```js\npeer.getProperties(function(properties){\n  if(properties && properties[\"volume\"]){\n    properties[\"volume\"].get(function(value){\n      console.log(\"Volume is \"+ value);\n    });\n  }\n});\n```\n\n##### Methods\n\n - [get()](#get)\n - [set()](#set)\n\n---\n\n### Get\n\n```js\nvoid get (callback(value))\n```\n\n| Type     | Parameter | Description                              |\n|:---------|:----------|:-----------------------------------------|\n| Function | callback  | The function that will get the property. |\n\nThis method lets you request a property value from its belonging smart device.\n\n```js\nvolumeProperty.get(function(volume){\n\n  // Prints the current value of the volume property\n  console.log(\"Volume is now \"+ volume);\n});\n```\n---\n\n### Set\n\n```js\nvoid set (value, callback(object))\n```\n\n| Type     | Parameter | Description                                 |\n|:---------|:----------|:--------------------------------------------|\n| Var      | value     | The value to set                            |\n| Function | callback  | The function that will change the property. |\n\nThe set method sends the given value to the smart device that has the property.\nThe callback function is executed when the smart device has given its response.\n\n```js\nvolumeProperty.set(54, function(){\n  console.log(\"Volume set.\");\n});\n```\n\n--------------------------------------------------------------------------------\n\n\nStream\n------\n\n```js\npeer.getStreams(function(streams){\n  for(var key in streams){\n    console.log(\"stream \"+ key);\n  }\n});\n```\n\n##### Methods\n\n - [on()](#on-2)\n - [pipe()](#pipe)\n - [unpipe()](#unpipe)\n\n \n### On\n\n```js\nvoid on (eventName, callback)\n```\n\n| Type     | Parameter | Description                                             |\n|:---------|:----------|:--------------------------------------------------------|\n| String   | eventName | \"data\", \"end\" (see nodejs-docs)                         |\n| Function | callback  | The function that will run when the event is triggered. |\n\n##### Example\n\n```js\nstream.on(\"data\", function(data){\n  console.log(\"line: \"+ data);\n});\n```\n\n\n### Pipe\n\n```js\nvoid pipe(ouputStream)\n```\n\n| Type   | Parameter   | Description                        |\n|:-------|:------------|:-----------------------------------|\n| Object | ouputStream | The stream that will recieve data. |\n\nThe pipe method lets you pipe streams from other peers \nto your local processes.\n\n```js\n// Saving stream from other device to a file\nvar fileStream = fs.createWriteStream(filename);\nremoteVideoStream.pipe(fileStream);\n```\n\n\n### Unpipe\n\n```js\nvoid unpipe()\n```\n\nThe unpipe method breaks the pipe between two streams.\n\n```js\nstream.unpipe();\n```\n \nSubscription\n------------\n\n```js\nvar subscription = peer.addSubscription(\"volume\", function(data){\n  console.dir(data);\n});\n\nsubscription.on(\"added\", function(){\n  console.dir(\"Added Subscription!\");\n});\n```\n\nSubscriptions \n\n##### Methods\n\n - [end()](#end-1)\n - [on()](#on-3)\n\n\n---\n\n### End \n\n```js\nvoid end (callback)\n```\n\n| Type     | Parameter | Description                                                |\n|:---------|:----------|:-----------------------------------------------------------|\n| Function | callback  | The function that will run when the subscription is ended. |\n\nEnd the subscription.\n\n```js\nsubscription.end(function(){\n  console.log(\"Subscription ended.\");\n})\n```\n\n---\n\n### On\n\n```js\nvoid on (eventName, callback(object))\n```\n\n| Type     | Parameter | Description                 |\n|:---------|:----------|:----------------------------|\n| String   | eventName | \"added\"                     |\n| Function | callback  | The function that will run. |\n\n```js\nvar subscription = peer.addSubscription(\"volume\", function(data){\n  console.log(\"Subscription added.\");\n  console.dir(data);\n});\n\n```\n\n--------------------------------------------------------------------------------\n\n\n\n\n\n\n\n\n\n\n\n\n\n","maintainers":[{"name":"anskaal","email":"npm@swe.no"}],"time":{"modified":"2022-06-18T21:07:23.978Z","created":"2015-02-28T10:01:04.771Z","0.0.1":"2015-02-28T10:01:04.771Z","0.0.11":"2015-02-28T12:26:14.827Z","0.0.12":"2015-03-08T10:57:23.647Z","0.0.13":"2015-03-08T12:33:57.249Z","0.0.14":"2015-03-08T15:53:45.035Z","0.0.15":"2015-03-08T23:36:21.933Z","0.0.16":"2015-03-11T18:36:54.707Z","0.0.17":"2015-03-14T23:12:17.914Z","0.0.18":"2015-03-15T18:46:34.321Z","0.0.19":"2015-03-15T19:00:15.794Z","0.0.20":"2015-03-16T00:34:33.526Z","0.0.21":"2015-03-17T11:38:46.748Z","0.0.22":"2015-03-17T14:32:43.279Z","0.0.23":"2015-03-17T22:09:13.720Z","0.0.24":"2015-03-17T22:17:35.955Z","0.0.25":"2015-03-24T22:22:29.126Z"},"homepage":"https://github.com/anskaal/home-thing","keywords":["iot","wot","thing"],"repository":{"type":"git","url":"https://github.com/anskaal/home-thing"},"author":{"name":"Anders Skaalsveen","email":"npm@swe.no","url":"http://swe.no"},"bugs":{"url":"https://github.com/anskaal/home-thing/issues"},"license":"MIT","readmeFilename":"README.md","users":{"bsnote":true}}