-
Notifications
You must be signed in to change notification settings - Fork 6
How to make "Hot Water: Boiler control entity" for Viessmann Vitocal 252-A with Viessmann ViCare HA integration #601
Hi,
I am new to SEM, and trying to configure it.
I have a Viessmann Vitocal 252-A. I have the HA integration Viessmann ViCare.
I exposes these Configurations.
image
- Activate one-time charge
- Deactivate one-time charge
And sensor:
- One-time charge
But SEM expects a Switch / Boolean as input:
imageI tried making a helper:
imageAnd then some very simple automations:
imageThat seems to work.
But what if I activate the option in the ViCare App. how can I make that state be reflected back to the helper Switch?
And to make things a bit more complicated, there is about 3-5 min delay between the activation of "(De)Activate one-time charge" in either HA or ViCare app, before the "One-time charge" Sensor picks it up.
All reactions
Hi @tlinnet, welcome to SEM! 👋
Your instinct is right — SEM's Boiler control entity must be something SEM can turn_on / turn_off (a switch., water_heater., or climate. entity), and the ViCare integration only gives you two buttons plus a read‐only One‐time charge sensor. So you do need a bridge entity. The good news is you can make one that is bidirectional in a single helper, which solves your "what if I toggle it in the ViCare app?" question.
Use a Template switch (not an input_boolean helper)
Instead of an input_boolean + separate automations, use a template switch. It presses the ViCare buttons on turn_on/turn_off, and it derives its own state from the "One‐time charge" sensor — so it...
Replies: 1 comment
Hi @tlinnet, welcome to SEM! 👋
Your instinct is right — SEM's Boiler control entity must be something SEM can turn_on / turn_off (a switch., water_heater., or climate. entity), and the ViCare integration only gives you two buttons plus a read‐only One‐time charge sensor. So you do need a bridge entity. The good news is you can make one that is bidirectional in a single helper, which solves your "what if I toggle it in the ViCare app?" question.
Use a Template switch (not an input_boolean helper)
Instead of an input_boolean + separate automations, use a template switch. It presses the ViCare buttons on turn_on/turn_off, and it derives its own state from the "One‐time charge" sensor — so it reflects reality no matter who flipped it (HA, the ViCare app, or SEM itself):
# configuration.yaml switch: - platform: template switches: boiler_one_time_charge: friendly_name: "Boiler one-time charge" # State comes from the ViCare sensor → reflects app changes automatically value_template: > {{ is_state('sensor.YOUR_DEVICE_one_time_charge', 'on') }} turn_on: - service: button.press target: entity_id: button.YOUR_DEVICE_activate_one_time_charge turn_off: - service: button.press target: entity_id: button.YOUR_DEVICE_deactivate_one_time_charge
Swap in your real entity IDs (if the "One‐time charge" sensor reports true/false instead of on/off, adjust the value_template accordingly). Then point SEM's Boiler control entity at switch.boiler_one_time_charge.
Because the state is driven by the sensor, when you activate one‐time charge in the ViCare app the template switch turns itself on with no extra automation — which is exactly what you were missing.
About the 3–5 min delay ⏱️
That lag is the ViCare cloud → HA reporting delay; nothing SEM (or the template switch) can shortcut. One thing worth knowing: SEM reads the control entity back each cycle to keep its belief in sync, and it corrects an "SEM turned it on but the entity still reads off" mismatch after a short grace window (~45 s), then applies a brief re‐activate cooldown. With a 3–5 min feedback delay, SEM may briefly conclude the boiler is off right after it commands it on, before the sensor catches up. In practice it converges once the sensor flips, but if you ever see SEM appear to "flip‐flop" the one‐time charge, that mismatch is the cause — let us know and we can look at making the grace window tolerant of slow‐reporting control entities.
Hope that helps — happy to refine the template if your sensor's states differ from the above. 🙂