/TibberPulse_Domoticz

Explanation how to connect Pulse locally to domoticz and also keep sending data to Tibber!

Credits to MSkjel for his original work on LocalPulse2Tibber! (https://github.com/MSkjel/LocalPulse2Tibber)
Edited his Readme.md file to match integration in domoticz.

Introduction

A writeup of how to make a Tibber Pulse work locally while still sending data to Tibber. This setup is based and tested on Dutch version of the Pulse, which is directly connected to the electricity meter using the P1 connector. It might also work with other versions supplied by Tibber, but this is untested from my part.

Whats needed

How to

  1. Extract SSL/TLS Certificates using App
  2. Setup MQTT Broker As Bridge [Setup Mosquitto MQTT Broker as bridge](#Setup Mosquitto MQTT Broker as bridge)
  3. Connect Pulse to your local broker to display data in Domoticz and bridge data to TibberPulse Setup

Extract SSL/TLS Certificates

App Method

  1. Reset your Pulse by holding down the reset button for around 5 seconds
  2. Disconnect the Pulse Power-Up from the Tibber app by going into Power-Ups > Pulse > Disconnect (If you have previously had it connected)
  3. Open the Tibber app and start setting up the Pulse. When you get to input your WiFi password, make sure to intensionally input the wrong password!
  4. Your app should now show a WiFi error.
  5. Force-Quit the Tibber app.
  6. Connect to the Pulse's network, the password is shown on the back of the pulse. It looks like this QWGH-ED12. The - has to be included
  7. Navigate to 10.133.70.1
  8. The website should now include everything the Tibber app sent to the Pulse, including the wrong password. image
  9. Copy everything inside the ca_cert field. image
  10. Paste it into a new file called CA.ca image
  11. Copy everything inside the certificate field. image
  12. Paste it into a new file called Cert.crt image
  13. Copy everything inside the private_key field. image
  14. Paste it into a new file called Priv.key image
  15. Copy and paste mqtt_url, mqtt_topic and mqtt_topic_sub into a file called mqtt_info or something like that image
  16. Change the psk to the correct password for your WiFi network. image
  17. Press send and then apply afterwards.
  18. After a while, the Pulse should show an empty page with just some numbers and characters at the top. Like 8f5g6e6h5f. If it shows MQTTErr or WiFiErr you have to redo everything.
  19. Check that the Pulse now shows on the main screen of the Tibber app(It wont have any data, just make sure the bubble is there. You might have to force-quit the app and restart it for it to show up).

Setup Mosquitto MQTT Broker as bridge

Create directory pulse_certs in /etc/mosquitto and make a new file called bridge.conf in /etc/mosquitto/conf.d:

sudo mkdir /etc/mosquitto/pulse_certs
sudo touch /etc/mosquitto/conf.d/bridge.conf

Copy CA.ca, Cert.crt and Priv.key in /etc/mosquitto/pulse_certs/

Paste this into the bridge.conf file (sudo nano bridge.conf). Make sure your mqtt_url is the same as mine, if not change connection blabla:8883 to whatever you have in the code below

connection bridge-to-tibber
bridge_cafile /etc/mosquitto/pulse_certs/CA.ca
bridge_certfile /etc/mosquitto/pulse_certs/Cert.crt
bridge_keyfile /etc/mosquitto/pulse_certs/Priv.key
address a1zhmn1192zl1a.iot.eu-west-1.amazonaws.com:8883
clientid tibber-pulse-[Remove this and fill in your Pulse-ID]
try_private false
notifications false

topic $aws/# out
topic tibber-pulse-[Remove this and fill in your Pulse-ID]/receive in

restart mosquitto service and check log for errors:

sudo systemctl restart mosquitto.service
sudo cat /var/log/mosquitto/mosquitto.log

Log should look like this:

1712258457: mosquitto version 2.0.11 starting
1712258457: Config loaded from /etc/mosquitto/mosquitto.conf.
1712258457: Opening ipv4 listen socket on port 1883.
1712258457: Opening ipv6 listen socket on port 1883.
1712258457: Connecting bridge (step 1) bridge-to-tibber (a1zhmn1192zl1a.iot.eu-west-1.amazonaws.com:8883)
1712258457: mosquitto version 2.0.11 running
1712258457: Connecting bridge (step 2) bridge-to-tibber (a1zhmn1192zl1a.iot.eu-west-1.amazonaws.com:8883)

Pulse Setup

  1. Reset the Pulse again, but DO NOT disconnect it in the Tibber app.
  2. Connect to the Pulse's network, the password is shown on the back of the pulse. It looks like this QWGH-ED12. The - has to be included
  3. Navigate to 10.133.70.1
  4. Im assuming you already know how to connect the pulse to your local broker, but here are some pictures Without MQTT username and password Screenshot_2022-11-01-22-32-40-03_40deb401b9ffe8e1df2f1cc5ba480b12 With MQTT username and password Screenshot_2022-11-01-22-33-36-03_40deb401b9ffe8e1df2f1cc5ba480b12
  5. The mqtt_topic on the Pulse has to be what is shown in mqtt_info file we created earlier image
  6. Press send, and apply.
  7. Check that the pulse is connected to the MQTT Broker
  8. Set the MQTT Topic your local Pulse decoder like https://github.com/toreamun/amshan-homeassistant or https://github.com/iotux/ElWiz to the MQTT Topic you specified over and in the dump from the app/serial.