Tibber Pulse IR LOCAL
If you like to access the data of your Tibber Pulse IR directly (instead of the detour through the cloud), then there is a simple approach to read the data directly from the Tibber Pulse Bridge. There are alternative solutions via an additional MQTT - but why should the data go through such a proxy if it can be read directly.
This integration will work only with the IR Version of the Tibber Pulse. There are other versions: P1, HAN or KM (sold in countries like Sweden, Norway or the Netherlands) that are not compatible with this integration. If you are not sure what Tibber Pulse version you have, just check if you have an additional ‘Bridge’ device – which is basically an additional thing that you have to plug into a power outlet (see the picture below).
For Tibber Pulse P1, HAN or KM you might like to check out, if the ha-tibber-pulse-mqtt by mrhedstrom will satisfy your needs.
Please note, that this integration is not official and not supported by the tibber development team. I am not affiliated with tibber in any way.

Tibber Invitation link
Advertisement / Werbung
If you want to join Tibber (become a customer), you might want to use my personal invitation link. When you use this link, Tibber will grant you and me a bonus of 50,-€ for each of us. This bonus then can be used in the Tibber store (not for your power bill) - e.g. to buy a Tibber Bridge. I am fully aware that when you are here in this repository, the chances are very high that you are already a Tibber customer and already have a Tibber Pulse. If you are already a Tibber customer and have not used an invitation link yet, you can also enter one afterward in the Tibber App (up to 14 days). [see official Tibber support article]
Please consider using my personal Tibber invitation link to join Tibber today or Enter the following code: 6o0kqvzf (six, oscar, zero, kilo, quebec, victor, zulu, foxtrot) afterward in the Tibber App - TIA!
Know Issues
-
The Tibber Pulse IR Bridge supports different communication modes (when fetching data from electricity meter). Here I need your help! Obviously, I have only one electricity meter here at home. This meter is communicating via a protocol called SML 1.04.
Over the time with the help of the community, the following modes are currently supported:
- SML 1.04
- Plaintext
- IEC-62056.21
- Logarex
- Impressions (Blinks / kwh) using ambient
The Tibber Bridge additionally offers the modes: AutoScanMode, IEC-62056.21, Logarex and Impressions (Blinks / kwh) using IR sensors. To support these other modes, I would need sample data from you. If your Tibber Pulse IR using one of these communications protocols, please be so kind and create here an issue in github - TIA!
-
Sometimes the Pulse deliver a data-package that does not contain valid data (looks like the build in webserver have a response buffer issue?). These invalid packages can’t be read with the python SML-Lib and you will find then in the HA-log some Bytes missing... or CRC while parse data... messages. (when logging on INFO Level)
If they happen the code will just try to load the data again for one time. Together with the message the actual payload (data that has been read from the Tibber Pulse Bridge) will also be logged. So you can verify that the data is indeed invalid.
-
During the setup the integration check/verify that there is at least one data field available that can be read. If the bridge does not provide any data (OBIS codes) then the setup will fail (with the message, that the connection could not be established). You might like to check if http://admin:[BRIDGE_PASSWORD]@[YOUR_IP]/node_data.json?node_id=1 (old fw http://admin:[BRIDGE_PASSWORD]@[YOUR_IP]/data.json?node_id=1) will provide a data feed.
Preparation: The web frontend of the Tibber Pulse Bridge must be enabled permanently
To be able to use this integration, you must enable the web frontend of your Tibber Pulse Bridge permanently.
To do so, you need to set one variable in the web frontend. But to get into the web frontend for the first time, you need to start the Tibber Pulse Bridge in AccessPoint mode.
The complete procedure (including additional things you might like to verify) is documented in the preparation guide. Please read and follow the instructions carefully.
After you have enabled the web frontend permanently of your Tibber Pulse Bridge, you can continue with the setup.
Setup / Installation
Step I: Install the integration
Option 1: via HACS

- Install Home Assistant Community Store (HACS)
- Add integration repository (search for “Tibber Pulse Local” in “Explore & Download Repositories”)
- Use the 3-dots at the right of the list entry (not at the top bar!) to download/install the custom integration – the latest release version is automatically selected. Only select a different version if you have specific reasons.
- After you have pressed download and the process has completed, you must Restart Home Assistant to install all dependencies
- Setup the custom integration as described below (see Step II: Adding or enabling the integration)
Option 2: manual steps
- Copy all files from
custom_components/tibber_local/ to custom_components/tibber_local/ inside your config Home Assistant directory.
- Restart Home Assistant to install all dependencies
Step II: Adding or enabling the integration
You must have installed the integration (manually or via HACS before)!
Option 1: My Home Assistant (2021.3+)

Just click the following Button to start the configuration automatically (for the rest see Option 2: Manually steps by step):
Option 2: Manually steps by step
Add custom integration using the web interface and follow instruction on screen.
- Go to
Configuration -> Integrations and add “Tibber Pulse Local” integration
- Specify:
- Provide a display name for the device
- Provide the address (hostname or IP) of the Pulse Bridge
- Provide the password of the Pulse Bridge
- Provide the update interval (can be 2 Seconds)
- Provide area where the Tibber Pule Bridge is located
IMPORTANT to know: During the setup of this integration, it will be checked if there is at least one OBIS-Code (data field) available from the bridge. If there is no field/data available that can be read, the setup process will fail (with the message that no connection is possible).
Using multiple Pulse with a single Bridge
In general, it is possible to use this integration with multiple Pulse devices connected to a single Bridge.
If you have multiple Pulse devices connected to the same bridge, you will need to set up separate instances of the integration for each of your Pulse devices. This can be done via the expert Option ‘Node’ number. Since multiple Pulse devices can share the same bridge IP address, but then each of the Pulse devices has a separate node number (id).
However, please note that the integration currently supports only one WebSocket connection for a Pulse device per bridge. So when you configure multiple Pulse nodes (all running on the same bridge), you can have only for one Node the WebSocket connection enabled. All others must run in http-pull mode.
More about multiple Pulse devices can be found in the Issue #120.
Want to report an issue?
Please use the GitHub Issues for reporting any issues you encounter with this integration. Please be so kind before creating a new issue, check the closed ones if your problem has been already reported (& solved).
The Integration is now available for +2 years. And looking back, there are three simple things that solved 99.89% of all issues – it’s either:
- Option A: Slightly rotate the pulse reading head anti-clockwise
or
- Option B: Replace the pulse batteries
or
- Option C: Make sure that you have configured the correct
Node Number (expert setting) in the integration.
In order to speed up the support process, you might like to already prepare and provide DEBUG log output. In the case of a technical issue - like not-supported–yet-communication-mode - I would need this DEBUG log output to be able to help/fix the issue. There is a short tutorial/guide ‘How to provide DEBUG log’ here - please take the time to quickly go through it.
Kudos
- @spacemanspiff2007 for providing a Python SML lib that makes reading the data from the Pulse IR almost effortless for a python noob like me
- @ProfDrYoMan for providing the initial idea. I failed to setup the ESP32 stuff, so I took the approach writing this custom integration
评论