Tibber smart home integration, free and open source

Unofficial connector: Tibber prices, cheap hours, consumption, Pulse live power and contracts.
Unofficial connector, not affiliated with Tibber. It brings your Tibber account into Gladys: the hourly electricity prices of your home (today and tomorrow), Tibber's price level, your consumption, and, with a Tibber Pulse or Watty, the live power. Tibber is a trademark of Tibber AS. Available where Tibber sells electricity: Norway, Sweden, Germany and the Netherlands.
Never tested with a real Tibber account or a real Pulse yet.
What you get
| Surface | Content |
|---|---|
| One device per home | price now, next price, today's average, minimum and maximum (per kWh, VAT included), Tibber's level (very cheap to very expensive), a "cheap period" sensor, the 30-minute consumption for the Gladys energy monitoring, yesterday's consumption and cost |
| With a Pulse / Watty | live power, production, today's consumption and cost, voltages and currents of the three phases |
| Scene triggers | cheap period started / ended (the N cheapest hours of the day), price level changed, tomorrow's prices published, live power crossed a mark (500 W to 11 kW, up or down) |
| Scene actions | price now (price, level, cheap hours, next price, today's figures, cheapest window) and cheapest hours (the cheapest N consecutive hours of the next 24 hours, today or tomorrow) |
| Dashboard widgets | Tibber prices (now, next, averages, level, cheapest hours, the curve of today and tomorrow) and Tibber live power (gauge, kWh and cost of the day, peak, voltages, currents) |
| Energy contract (Gladys 5.2+) | a Tibber template per country: every half hour of your meter is priced from your Tibber hourly prices, plus the monthly subscription |
Setup
- On developer.tibber.com, sign in with your Tibber account and create a personal access token.
- Install the integration, paste the token in Access token, save, then click Test the connection: it lists your homes with their current price.
- Open Discovery and add the device of each home.
- Put the Tibber prices widget (and Tibber live power with a Pulse) on a dashboard, pick the home.
The prices are read at start and every hour; tomorrow's prices are asked from 12:45 every 10 minutes until Tibber publishes them (around 13:00). The sensors move at every price slot (hourly, or every 15 minutes where Tibber moved to it). The consumption is read every hour.
Scenes
- Cheap period started / ended: the current slot enters or leaves the N cheapest hours of the day (N = Cheap hours per day, 4 by default). Start the water heater, the car charger, the washing machine.
- Price level changed: Tibber's own level of the price (against the average of the last days) changed; filter on the new levels.
- Tomorrow's prices published: once a day, with the average, the extremes and the cheapest window of tomorrow, ready for a notification.
- Live power crossed a mark: the power of the Pulse went above or below the chosen number of watts. Warn when the oven and the charger run at the same time.
Two scene actions for a condition or a message that follows: price now
gives price, level, cheap, next_price, avg_price,
window_start_time…; cheapest hours gives the start and end
(start_time, end_time, start and end as ISO dates for a "wait
until"), minutes_until_start and the saving against the period. The
following actions of the scene find them in their variable list (written
{{<step>.<action>.<key>}}, for instance {{0.0.price}} when this action
is the first of the scene).
Energy monitoring (Gladys 5.2 or newer)
In Energy monitoring → Contracts, create a contract from the Tibber template of your country, pick the Tibber home device as the meter, and fill in the monthly subscription. Gladys then asks the integration to price every half hour from your own Tibber price history (energy price, VAT included); the costs appear next to the consumption like any contract. The consumption of the device is the hourly consumption Tibber reports, split in two equal halves, published with about one hour of delay. It is the only data of the device the energy monitoring counts: yesterday's and today's consumption are plain sensors (in kWh) for display and scenes, never added a second time.
If you own a Pulse, Gladys also shows the live power and today's cost straight from Tibber.
Gladys 5.2.0 or newer is required.
Devices created with version 0.1.1
Version 0.1.1 published yesterday's and today's consumption in features of
the "daily consumption" type (yesterday_consumption, today_consumption).
The costs and charts of the energy monitoring never used them (they read the
30-minute consumption), but these daily kWh could be added to the 30-minute
consumption in the weekly digest and in the answers of the Gladys MCP
server.
Gladys does not touch a created device until you click Update: until
then, the two old features stay, with their history, but receive nothing
any more. To move to the new sensors, open Discovery, then the Tibber
device (badge Already added), and click Update. Gladys then adds
yesterday_kwh and today_kwh, removes the two old features, and keeps the
device, the history of every other feature (30-minute consumption and its
cost, prices, costs) and the link with your energy contract. A scene or a
dashboard chart set on one of the two old features must be pointed at
yesterday_kwh or today_kwh.
Troubleshooting
- "Tibber refused the access token": the token was revoked or mistyped; create a new one on developer.tibber.com. A refused token is not sent again, even after a restart, until you save the configuration (saving tries once more, even with the same token).
- "Tibber asked to slow down (429)": no call at all until the time shown (Tibber's Retry-After, between 1 minute and 6 hours, kept across a restart); the last values stay, then everything resumes by itself.
- "No home with an active subscription": the account has no running Tibber contract yet.
- No live power: the home needs a Tibber Pulse or Watty with real-time consumption enabled in the Tibber app, and the Live power option on. The status line says "live power on <home>" when the stream is connected.
- Tomorrow's prices missing: Tibber publishes them around 13:00 local time; the integration keeps asking every 10 minutes.
- Logs: the integration's log level is set with the
LOG_LEVELvariable.
Privacy
The token is kept by Gladys in its database (in clear, like every secret
field, its backups included), never shown again, and only sent to Tibber's
servers (api.tibber.com, websocket-api.tibber.com). Your address is only used to
name the device when the home has no nickname. The /data volume of the
integration holds only a random key, a keyed hash (HMAC) of a refused token
(never the token) and the end of a 429 pause.
Configuration settings
These are the settings Tibber asks for in its configuration screen in Gladys.
| Setting | Type | Required | Description |
|---|---|---|---|
| Tibber account | section | No | Unofficial connector, not affiliated with Tibber. Create a personal access token on developer.tibber.com (Settings → Access token) and paste it below: the integration discovers your homes, reads the hourly prices (today and tomorrow), your consumption, and, with a Tibber Pulse or Watty, the live power. It also offers a Tibber contract template for the Gladys energy monitoring. Tibber is a trademark of Tibber AS. |
| Access token | secret | Yes | Kept by Gladys in its database, never shown again, only sent to Tibber. |
| Cheap hours per day | number | No | The N cheapest hours of the day make the "cheap period" (sensor, triggers, widget). |
| Live power from a Tibber Pulse / Watty | boolean | No | Keeps a websocket open to Tibber for the homes with real-time consumption enabled. |
How to install Tibber in Gladys
- In Gladys, open Integrations: Tibber appears in the catalog, next to the native integrations, with a community badge.
- Click Install. Gladys pulls the Docker image (
ghcr.io/lm1lc3n7/gladys-tibber:0.1.5), starts it in a sandbox isolated from the core, and generates the integration's interface (devices, discovery and configuration). - Open the Configuration screen of the integration, fill in the settings, and save.
- You can also install it directly from its repository URL: https://github.com/LM1LC3N7/gladys-tibber.
Tibber requires Gladys >=5.2.0. The catalog inside Gladys refreshes every hour, so a new version becomes available at most one hour after its release.
Not running Gladys yet? It is free and open source: follow the installation guide to get started.
About external integrations
Tibber is an external integration: a community integration packaged as a Docker container and published on GitHub, that Gladys installs in one click and runs in a sandbox isolated from its core. It is published and maintained by LM1LC3N7, not by the Gladys core team.
- Browse all integrations, native and community
- Build and publish your own external integration
- Source code on GitHub — source of this documentation