First let's wire it correctly. I've seen complain on github it does not work with some pins. Here is my wiring which works for me:
- OpenTherm jumper set to 3.3V
- OpenTherm D3 - WeMos D1 (via header) : #define BOILER_IN 5
- OpenTherm D5 - WeMos D5 (via header) : #define BOILER_OUT 14
- OpenTherm 3.3V - WeMos 3.3V
- OpenTherm GND - WeMos GND
If you, for example, connect 5V from WeMos to 5V on OpenTherm shield, it will not work (it took me almost an hour to figure it out).
template:
- trigger:
- platform: webhook
webhook_id: boiler0
sensor:
- name: Boiler - updated at
unique_id: boilerupdate
state: "{{ as_timestamp(now())|timestamp_custom('%d. %m. %Y %H:%M:%S') }}"
icon: mdi:clock-time-four-outline
binary_sensor:
- name: Boiler - error
unique_id: boiler0fault
state: "{{ trigger.json.data|int|bitwise_and(1) > 0 }}"
device_class: problem
- name: Boiler - central heating
unique_id: boiler0ch
state: "{{ trigger.json.data|int|bitwise_and(2) > 0 }}"
device_class: running
- name: Boiler - warm water
unique_id: boiler0dhw
state: "{{ trigger.json.data|int|bitwise_and(4) > 0 }}"
device_class: running
- name: Boiler - heating
unique_id: boiler0flame
state: "{{ trigger.json.data|int|bitwise_and(8) > 0 }}"
device_class: running
- trigger:
- platform: webhook
webhook_id: boiler18
sensor:
- name: Boiler - pressure
unique_id: boiler18
state: "{{ trigger.json.data }}"
state_class: measurement
device_class: pressure
unit_of_measurement: bar
icon: mdi:speedometer
...
But my joy did not last long - within 1-2 hours, the data stopped flowing :-( Next post will be about figuring why?