Damit die Heizung höchst mögliche effizient hat, sollten alle Fenster und Türen geschlossen sein. Der folgende Code erzeugt eine Ausgabe wie diese:
2/6 Türen geöffnet. Tür Fernsehzimmer, Tür Flur
Man kann also mit einem Blick sehen, ob und welche Türen noch geöffnet sind. Der Code kann unterschiedlich verwendet werden z.B. in der Markdown Card sowie in anderen Lovelace Cards, in den Sensor Templates und in den Benachrichtigungen.
Sie können den Code direkt verwenden und z.B. in den Developer Tools unter TEMPLATE ausprobieren!
Code für Türen device_class: door
{{ states.binary_sensor
| selectattr('state', 'eq', 'on')
| selectattr('attributes.device_class', 'defined')
| selectattr('attributes.device_class', '==', 'door')
| map(attribute='entity_id')
| list | count }}/{{ states.binary_sensor
| selectattr('attributes.device_class', 'defined')
| selectattr('attributes.device_class', '==', 'door')
| map(attribute='entity_id')
| list | count }} Türen geöffnet. {{ states.binary_sensor | selectattr('state', 'eq', 'on')
| rejectattr('attributes.entity_id', 'defined')
| selectattr('attributes.device_class', 'defined')
| selectattr('attributes.device_class', '==', 'door')
| map(attribute='name') | list | join(', ') }}
Code für Fenster device_class: window
{{ states.binary_sensor
| selectattr('state', 'eq', 'on')
| selectattr('attributes.device_class', 'defined')
| selectattr('attributes.device_class', '==', 'window')
| map(attribute='entity_id')
| list | count }}/{{ states.binary_sensor
| selectattr('attributes.device_class', 'defined')
| selectattr('attributes.device_class', '==', 'window')
| map(attribute='entity_id')
| list | count }} Fenster geöffnet. {{ states.binary_sensor | selectattr('state', 'eq', 'on')
| rejectattr('attributes.entity_id', 'defined')
| selectattr('attributes.device_class', 'defined')
| selectattr('attributes.device_class', '==', 'window')
| map(attribute='name') | list | join(', ') }}
Heizungssteuerung
Dass die Heizung bzw. allgemeiner gesagt die climate.entity
entsprechend geregelt wird, ist hier das entsprechende Blueprint zu finden.
Automation
Auch in den Automationen kann der Code direkt verwendet werden. Man kann z.B. eine Meldung erzeugen, wenn eine der Türen länger als z.B. 5 Minuten offen ist.
Das sieht danach etwa so aus
und erzeugt folgende Meldung auf dem iPhone