{"id":13799853,"url":"https://github.com/stfnhmplr/node-red-contrib-homee","last_synced_at":"2025-04-12T13:34:51.229Z","repository":{"id":26803312,"uuid":"103302727","full_name":"stfnhmplr/node-red-contrib-homee","owner":"stfnhmplr","description":"access the homee api with node-red","archived":false,"fork":false,"pushed_at":"2024-09-26T14:22:18.000Z","size":1405,"stargazers_count":37,"open_issues_count":9,"forks_count":8,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-04-02T08:41:06.694Z","etag":null,"topics":["homee","node-red"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stfnhmplr.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-09-12T17:44:17.000Z","updated_at":"2024-09-26T14:22:22.000Z","dependencies_parsed_at":"2024-01-05T21:04:35.216Z","dependency_job_id":"9c438e49-adc2-49e1-a668-3269e19bf3cd","html_url":"https://github.com/stfnhmplr/node-red-contrib-homee","commit_stats":{"total_commits":175,"total_committers":11,"mean_commits":"15.909090909090908","dds":0.24,"last_synced_commit":"73279e9c3bbce60a927a7b1d15ea1909720886a7"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stfnhmplr%2Fnode-red-contrib-homee","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stfnhmplr%2Fnode-red-contrib-homee/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stfnhmplr%2Fnode-red-contrib-homee/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stfnhmplr%2Fnode-red-contrib-homee/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stfnhmplr","download_url":"https://codeload.github.com/stfnhmplr/node-red-contrib-homee/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248573674,"owners_count":21126881,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["homee","node-red"],"created_at":"2024-08-04T00:01:06.643Z","updated_at":"2025-04-12T13:34:51.204Z","avatar_url":"https://github.com/stfnhmplr.png","language":"JavaScript","funding_links":[],"categories":["Nodes"],"sub_categories":["Smarthome"],"readme":"# node-red-contrib-homee\r\n\r\nAccess the homee api with node-red and create virtual devices for homee.\r\n\r\n## Installation\r\n```\r\ncd ~/.node-red\r\nnpm install node-red-contrib-homee\r\n```\r\n\r\n## Usage\r\n\r\nThis plugin provides three nodes (and two configuration nodes). The homeeApi node\r\nis used to address the API of an existing homee. With the homeeDevice node you\r\ncan create virtual devices for your homee. The homeeLog node is used to query the logfile from your homee.\r\n\r\n### homeeAPI\r\n\r\n#### Receiving messages\r\nWhen the connection is successfully established, all messages from homee, e.g. status updates and user interactions, are passed on to the payload.\r\n\r\n#### Sending messages\r\nhomee accepts various messages in a particular format. Send the message as payload to the homee node. Below are a few examples of common messages.\r\n\r\n##### Get all nodes\r\n```\r\nGET:nodes\r\n```\r\n\r\n##### Get all homeegrams\r\n```\r\nGET:homeegrams\r\n```\r\n\r\n##### Get all groups\r\n```\r\nGET:groups\r\n```\r\n\r\n##### Get all relationsships\r\n```\r\nGET:relationships\r\n```\r\n\r\n### homeeDevice\r\nFirst a virtualHomee-node (like an virtual homee) must be configured. Afterwards any\r\ndevice that homee knows can be created. The devices can then be taught-in\r\nusing the homee in homee function. Every homeeDevice-node provides one input and\r\none output.\r\n\r\n#### Input from flow\r\nYou can change attribute values by sending a JSON object as payload to the\r\nhomeeDevice-node. The example sets the attribute with the ID `10` to the value `1`.\r\n\r\n```json\r\n{\r\n  \"attribute\": {\r\n      \"id\": 10,\r\n      \"value\": 1\r\n  }\r\n}\r\n```\r\n**Hint**: The old syntax `{\"id\": 10, \"value\": 1}` still works but is deprecated and will be removed in one of the next versions.\r\n\r\nIt's also possible to update the state of the node. The following example sets the state of the virtual device to unavailable.\r\n```json\r\n{ \"state\": 2 }\r\n```\r\n\r\n#### Flow output\r\nEvery attribute change from homee sends a json payload to the output of the node.\r\n\r\n```json\r\n{ \"attributeId\": 10, \"targetValue\": 0 }\r\n```\r\n\r\n#### Sample flows\r\nThe [homeean](https://github.com/homeean) project provides a collection of [sample flows](https://github.com/homeean/node-red-contrib-homee-flows), including fully-configured `virtualDevice-node`'s that can serve as a starting point for your own flows.\r\n\r\n#### Profile and Attribute type values\r\nEach `virtualDevice-node` needs a specific `profile` value and each of the node's attributes a `type`. Known values can be found in the [homee-api](https://github.com/stfnhmplr/homee-api/) project's [`enum.js`](https://github.com/stfnhmplr/homee-api/blob/master/lib/enums.js).\r\n\r\n#### Persist attribute data\r\nBy default, Node-RED does not save changes to nodes that are executed in the background. This includes\r\nchanges to the current value of an attribute.\r\n\r\nWith version 0.5.0 an optional storage possibility of attribute values is introduced.\r\nIn order to use the storage option, the local file storage must be enabled in `settings.js`.\r\n\r\n```js\r\ncontextStorage: {\r\n  default: {\r\n        module: \"memory\",\r\n      },\r\n   homeeStore: {\r\n       module: \"localfilesystem\",\r\n   }\r\n},\r\n```\r\n\r\n### homeeLog\r\nSend any message to the homeeLog node to start querying the log file. Since the log file can only be queried as a whole, the query will take a few seconds.\r\n\r\nThe output format can be selected in the settings. In addition to the output of the raw log data, the log file can be transformed to an array or a collection. The selection can be overwritten with `msg.output`. Valid values are `raw`, `array` and `collection`.\r\n\r\n## About\r\nThis plugin is not an official plugin. The homee device simulation is based on\r\nthe work of @tobiasgraf and his [homeejs](https://github.com/tobiasgraf/homeejs)\r\nand would not have been possible without him.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstfnhmplr%2Fnode-red-contrib-homee","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstfnhmplr%2Fnode-red-contrib-homee","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstfnhmplr%2Fnode-red-contrib-homee/lists"}