Node Red module for integrating with Tibber Pulse through Tibber api.
This Node-Red module is used for communication with Tibber API through GraphQL queries and for retrieving data from Tibber Pulse via websocket. Tibber is a norwegian technology focused power company which is providing tools to get more insight and controll over your home and its power consumption.
From version 0.4.0 the nodes rely on configuration nodes. This means that any nodes configured prior to this version will have to be reconfigured. Use of configuration nodes will actually simplify configuration.
Sign up here:
You will also need an API token from Tibber. Get it here:
Note! In order to use the included Grafana dashboard example, you will need Grafana 6.x or higher.
To install module in Node-Red GUI
- Go to main menu.
- Select Manage palette.
- Select Install tab.
- Search for node-red-contrib-tibber-api
- Click Install button to perform the installation.
$ npm install node-red-contrib-tibber-api
Tibber Feed node (tibber-feed)
Realtime power consuption data from Tibber Pulse. Provide API token, Home ID and select what kind of information you want to retrieve.
Note! There should be only one instance running of tibber-feed per API key. Doing otherwise may return unpredictable result, or even error responses from the API.
Tibber API call node (tibber-query)
Do basic calls to Tibber API using GraphQL queries. To query the Tibber API, simply provide raw GraphQL queries in the payload of the incoming message. See Tibber API documentation and API Explorer for more informations.
Tibber push notification (tibber-notify)
Send push nofifications to connected TIbber apps via Tibber API using GraphQL queries. Fill in Title, Message and which screen to open in the app directly in the node, or by providing the data via the incomming .
Tibber data (tibber-data)
Select from a set of predefined queries to retrieve data from Tibber API. The additional parameters can be provided either by the message payload or by configuring the node itself. By using the message payload you will be able to select query and parameters provided by other nodes in the flow.
/*** Get selected home with some selected properties, including address and owner.* @param homeId Tibber home ID* @return IHome object*/: IHome;/*** Get homes with all properties, including energy price, consumption and production.* @param homeId Tibber home ID* @return IHome object*/: IHome;/*** Get homes with some selected properties, including address and owner.* @return Array of IHome.*/: IHome;/*** Get homes with all properties, including energy price, consumption and production.* @return Array of IHome*/: IHome;/*** Get current energy price for selected home.* @param homeId Tibber home ID* @return IPrice object*/: IPrice;/*** Get current energy prices from all homes registered to current user* @return Array of IPrice*/: IPrice;/*** Get energy prices for today.* @param homeId Tibber home ID* @return Array of IPrice*/: IPrice;/*** Get energy prices for tomorrow. These will only be available between 12:00 and 23:59* @param homeId Tibber home ID* @return Array of IPrice*/: IPrice;/*** Get energy consumption for one or more homes.* Returns an array of IConsumption* @param energyResolution EnergyResolution. Valid values: HOURLY, DAILY, WEEKLY, MONTHLY, ANNUAL* @param lastCount Return the last number of records* @param homeId Tibber home ID. Optional parameter. Empty parameter will return all registered homes.* @return Array of IConsumption*/: IConsumption;
Configuration node (tibber-api-endpoint)
When configuring regular tibber nodes, you will have to create or select the configuration from the property API Endpoint. Here you can specify Query URL, WebSocket URL and API Key. This configuration can easily be used by any Tibber nodes. This will greatly simplyfy changing of urls and API key, since the change happens on all nodes using the configuration.
To easily test out the examples, you should use a server stack containing Node-Red, InfluxDB, and Grafana. Such stack can easily be installed by using the following docker based IoTServer: https://github.com/bisand/iotserver
git clone https://github.com/bisand/IoTServer.git iotservercd iotserversudo ./init.sh
Read the included readme for more info.
Tibber Pulse - Example flow
Tibber Pulse - Home power consumption example
Grafana example dashboard
Grafana - Home power consumption dashboard example