All Projects → stfnhmplr → node-red-contrib-homee

stfnhmplr / node-red-contrib-homee

Licence: other
access the homee api with node-red

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to node-red-contrib-homee

Fire-detection-using-Python
Fire detection without using sensor
Stars: ✭ 36 (+2.86%)
Mutual labels:  node-red
node-red-contrib-moment
Node-Red Node that produces formatted Date/Time output using the Moment.JS library. Timezone, dst and locale aware.
Stars: ✭ 31 (-11.43%)
Mutual labels:  node-red
midnight-red
A gorgeous dark theme for Node-RED
Stars: ✭ 110 (+214.29%)
Mutual labels:  node-red
node-red-contrib-fritzapi
Home automation node for Fritz!Box, Fritz!DECT and FRITZ!Powerline devices.
Stars: ✭ 15 (-57.14%)
Mutual labels:  node-red
smart-email-support
Smart Email Support for Telecom Organisations - Provide automated customer support for emails
Stars: ✭ 19 (-45.71%)
Mutual labels:  node-red
Prometeo-Pyrrha
Former repository for Prometeo, winner of the Call for Code 2019 Global Challenge, open sourced as Pyrrha (see links within this repo). It measures toxin exposure in real time and analyzes trends over time.
Stars: ✭ 27 (-22.86%)
Mutual labels:  node-red
node-red-contrib-alexa-home
No description or website provided.
Stars: ✭ 31 (-11.43%)
Mutual labels:  node-red
node-red-contrib-tasmota
Tasmota devices for NodeRed
Stars: ✭ 16 (-54.29%)
Mutual labels:  node-red
HomeApp
A little smart home app for Philips Hue and other devices
Stars: ✭ 54 (+54.29%)
Mutual labels:  node-red
LetsHack
Notes & HowTo's covering the Raspberry Pi, Arduino, ESP8266, ESP32, etc.
Stars: ✭ 37 (+5.71%)
Mutual labels:  node-red
node-red-contrib-smartnora
Node Red Google Home integration
Stars: ✭ 80 (+128.57%)
Mutual labels:  node-red
dnr-editor
Distributed Data-Flow Coordination Platform Based on Node-RED
Stars: ✭ 72 (+105.71%)
Mutual labels:  node-red
Node-Linky
A simple node to connect to Enedis Linky smart-meter to fetch your datas
Stars: ✭ 29 (-17.14%)
Mutual labels:  node-red
home-assistant-config
🏠 Home Assistant Configuration & Documentation for my smart home using Node-RED for automations. Press ⭐ for notification of updates.
Stars: ✭ 34 (-2.86%)
Mutual labels:  node-red
noderedexamples
Node-Red-Beispiele zu c't-Artikeln / Examples for node-red used in our articles.
Stars: ✭ 16 (-54.29%)
Mutual labels:  node-red
node-red-contrib-FIWARE official
FIWARE-Node-Red integration supporting NGSI-LD
Stars: ✭ 14 (-60%)
Mutual labels:  node-red
Node-RED-Tello-Control
Node-RED flows to control the Ryze Tello Drone
Stars: ✭ 121 (+245.71%)
Mutual labels:  node-red
102shows
Raspberry Pi + APA102 + MQTT + 102shows = LED awesomeness!
Stars: ✭ 15 (-57.14%)
Mutual labels:  node-red
node-red-contrib-ctrlx-automation
Node-RED nodes to access ctrlX CORE devices.
Stars: ✭ 18 (-48.57%)
Mutual labels:  node-red
node-red-contrib-harmony
Node-RED integration for Harmony hub
Stars: ✭ 16 (-54.29%)
Mutual labels:  node-red

node-red-contrib-homee

Access the homee api with node-red and create virtual devices for homee.

Installation

cd ~/.node-red
npm install node-red-contrib-homee

Usage

This plugin provides three nodes (and two configuration nodes). The homeeApi node is used to address the API of an existing homee. With the homeeDevice node you can create virtual devices for your homee. The homeeLog node is used to query the logfile from your homee.

homeeAPI

Receiving messages

When the connection is successfully established, all messages from homee, e.g. status updates and user interactions, are passed on to the payload.

Sending messages

homee accepts various messages in a particular format. Send the message as payload to the homee node. Below are a few examples of common messages.

Get all nodes
GET:nodes
Get all homeegrams
GET:homeegrams
Get all groups
GET:groups
Get all relationsships
GET:relationships

homeeDevice

First a virtualHomee-node (like an virtual homee) must be configured. Afterwards any device that homee knows can be created. The devices can then be taught-in using the homee in homee function. Every homeeDevice-node provides one input and one output.

Input from flow

You can change attribute values by sending a JSON object as payload to the homeeDevice-node. The example sets the attribute with the ID 10 to the value 1.

{
  "attribute": {
      "id": 10,
      "value": 1
  }
}

Hint: The old syntax {"id": 10, "value": 1} still works but is deprecated and will be removed in one of the next versions.

It's also possible to update the state of the node. The following example sets the state of the virtual device to unavailable.

{ "state": 2 }

Flow output

Every attribute change from homee sends a json payload to the output of the node.

{ "attributeId": 10, "targetValue": 0 }

Sample flows

The homeean project provides a collection of sample flows, including fully-configured virtualDevice-node's that can serve as a starting point for your own flows.

Profile and Attribute type values

Each 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 project's enum.js.

Persist attribute data

By default, Node-RED does not save changes to nodes that are executed in the background. This includes changes to the current value of an attribute.

With version 0.5.0 an optional storage possibility of attribute values is introduced. In order to use the storage option, the local file storage must be enabled in settings.js.

contextStorage: {
  default: {
        module: "memory",
      },
   homeeStore: {
       module: "localfilesystem",
   }
},

homeeLog

Send 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.

The 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.

About

This plugin is not an official plugin. The homee device simulation is based on the work of @tobiasgraf and his homeejs and would not have been possible without him.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].