Automatisierung Boiler Einschalten

mit dieser Erweiterung für Home Assistant kann ich jetzt Berechnen lassen wann der Günstige Zeitpunkt gekommen ist um meinen Boiler Heizen zu lassen.
https://github.com/TheFes/cheapest-energy-hours/tree/main

Die Installation ist eigentlich ganz zu beschrieben.
Hier nur mal eine kurze Anleitung, was nach der Installation über HACS noch zu machen ist.

Nach der Installation die blueprint importiert.
https://github.com/TheFes/cheapest-energy-hours/blob/main/documentation/blueprints/energy_price_sensor.md

In die configuration.yaml hab ich dies eingetragen. Da ich tibber verwende

template: 
  - use_blueprint:
      path: TheFes/energy_price_sensor.yaml
      input:
        source: tibber
        entity_id: sensor.tibber_ceh_prices
    name: Tibber Cheapest Energy Hours Prices
    unique_id: 2fc0bc4c-10c0-4844-8c12-ff50a80d44c8

Und dann HA neugestartete bzw. YAML reload

Helfer erstellt (dieser funktioniert aber nicht zufriedenstellend)

Geräte & Dienste -> Helfer -> Helfer erstellen -> Template -> Sensor

Name: Boiler Heizen in
Zustand

{%- set sensor = 'sensor.tibber_ceh_prices' -%}
{% from 'cheapest_energy_hours.jinja' import cheapest_energy_hours %}
{{ cheapest_energy_hours(sensor=sensor, hours=2, start='11:00', end='06:00', no_weight_points=4, lowest=true, look_ahead=true, include_today=true, include_tomorrow=true) }}

Geräteklasse: Zeitstempel
Gerät: ShellyPlus (bei mir. kann auch weggelassen werden)


Die Optionen in dem Code Block

  • hours=2
    Der Boiler soll ca 2 Stunden Heizen
  • start=’11:00′
    er darf ab 11 Uhr Heizen
  • end=’06:00′
    er soll spätestens um 6 Uhr fertig sein
  • no_weight_points=4
    da ich alle 15 Minuten einen Datenpunkte von Tibber habe, soll die Stunde durch 4 geteilt werden. Wird für die Berechnung hergenommen
  • lowest=true
    Suche den günstigen Zeitbereich. Wenn man hier ‚false‘ angibt, bekommt man den Teuersten Zeitbereich.
  • look_ahead=true
    Um nur die bisherigen Preise zu nutzen, setzen Sie dies auf ‚true‘.
    In Kombination mit Start wird die letzte Zeit von beiden verwendet (wenn der Startparameter also auf eine zukünftige Zeit gesetzt ist, ist diese Zeit führend, wenn sie auf eine Zeit in der Vergangenheit gesetzt ist, führt die aktuelle Zeit).
  • include_today=true
    Bestimmt, ob die heutigen Daten verwendet werden sollten.
  • include_tomorrow=true
    Bestimmt, ob die Daten von morgen verwendet werden sollten.

Dann hat man diesen Helfer

Bei meinem Shelly hab ich dann diesen zusätzlichen Sensor

Dieser Sensor für die Zeit ab wann geheizt werden soll funktioniert aber nicht wie ich es gerne hätte.

Das Problem ist das der Sensor um genau 00Uhr neu Berechnet und dann nur die Daten des aktuellen Tag verwendet. Somit würde er wahrscheinlich nie meinen Boiler aufheizen.

Daher hab ich einen Sensor mit Trigger eingesetzt. Diesen kann man aber nur in den YAML files erstellen und nicht über die GUI.

In den Template Block von der configuration.yaml hab ich dies hinzugefügt.

  # Boiler
  - trigger:
      -  platform: time
         at:
           - '06:00'
           - '16:00'
    sensor:
      - unique_id: f8853830-bf81-46d4-85a9-379c25c37c23
        name: Boiler Start Time
        device_class: timestamp
        state: >
            {%- set sensor = 'sensor.tibber_ceh_prices' -%}
            {% from 'cheapest_energy_hours.jinja' import cheapest_energy_hours %}
            {{ cheapest_energy_hours(sensor=sensor, hours=2, start='11:00', end='06:00', no_weight_points=4, lowest=true, look_ahead=true, include_today=true, include_tomorrow=true) }}

Jetzt aktualisiert der Sensor um 6 Uhr und 16 Uhr. Und was da dann ermittelt wird bleibt bis zum nächsten mal.

Dann noch eine Automatisation erstellen, die dann den Boiler über den Shelly einschalten tut, wenn die zeit gekommen ist

alias: Boiler Heizen
description: "Boiler Heizen wenn der Billigsten Zeitraum ist"
triggers:
  - trigger: time
    at: sensor.boiler_start_time
conditions: []
actions:
  - type: turn_on
    device_id: < Shelly Gerät ID >
    entity_id: < Switch ID >
    domain: switch
  - delay:
      hours: 1
      minutes: 0
      seconds: 0
      milliseconds: 0
  - type: turn_off
    device_id: < Shelly Gerät ID >
    entity_id: < Switch ID >
    domain: switch
mode: single

Da mein Boiler dann Heizen tut bis er die eingestellte Temperatur erreicht hat. kann ich dies eigentlich nicht mehr unterbrechen. Die Stunde Wartezeit bis ich das Heitzen Signal wieder abstelle ist nur dazu da, das relay zu entlasten.
In meinem Fall steuert der Shelly das Signal das eigentlich vom Energieversorger für das Nachtstrom Signal kommt.
Der Shelley bekommt das auf dem Eingangskontakt, gibt es aber nicht weiter. Sondern macht über das Relay sein eigenes

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*