Solar.Forecast Vorhersage in 1h, in 2h, in 3h, in 4h usw. als Einzelwerte

Hallo Zusammen,
habe die Feiertage genutzt :slightly_smiling_face: und jetzt folgende Löschung gewählt.
ich nutze die HACS Integrationen “Open-Meteo Solar Forecast” dieses liefert 1h (energy_current_hour) und 2h (sensor.energy_next_hour), und die 3h, 4h und 6h bekommen ich jetzt so:

Aktuell wird fix von Abständen zum Peak gearbeitet: (1h - 2h - Peak - 2h - 1h).

Ann der dynamic von Sonnenaufgang zum Peak und Peak zum Sonnenuntergang bin ich dran! :wink:

# Example configuration.yaml entry
template:
  - sensor:

  # SolarForecast (for Open-Meteo Solar Forecast)

      - name: "power_highest_peak_time_today_dif"
        unique_id: "power_highest_peak_time_today_dif"
        state: >
            {{ ((now().timestamp() - as_timestamp(states('sensor.power_highest_peak_time_today'))) / (60*60) * -1 | int) | round(1) }}
        attributes:
          attribute: "{{ now().minute }}"

      - name: "energy_3h_z"
        unique_id: "energy_3h_z"
        unit_of_measurement: "kWh"
        state_class: "total_increasing"
        device_class: "ENERGY"
        state: "{% if states('sensor.power_highest_peak_time_today_dif') is not none %}
          {% if states('sensor.power_highest_peak_time_today_dif') | float(default=0) < 0.0 %}
          {{ 0 }}
          {% else %}
          {% if states('sensor.power_highest_peak_time_today_dif') | float(default=0) > 6.0 %}
          {{ 0 }}
          {% else %}
          {% if states('sensor.power_highest_peak_time_today_dif') | float(default=0) < 1.0 %}
          {{ ( float(states('sensor.energy_production_today_remaining')) - float(states('sensor.energy_current_hour')) - float(states('sensor.energy_next_hour')) ) * 0.15 | float | round (1) }}
          {% else %}
          {% if states('sensor.power_highest_peak_time_today_dif') | float(default=0) < 3.0 %}
          {{ ( float(states('sensor.energy_production_today_remaining')) - float(states('sensor.energy_current_hour')) - float(states('sensor.energy_next_hour')) ) * 0.2 | float | round (1) }}
          {% else %}
          {% if states('sensor.power_highest_peak_time_today_dif') | float(default=0) < 5.0 %}
          {{ ( float(states('sensor.energy_production_today_remaining')) - float(states('sensor.energy_current_hour')) - float(states('sensor.energy_next_hour')) ) * 0.15 | float | round (1) }}
          {% else %}
          {{ 0 }}
          {% endif %}
          {% endif %}
          {% endif %}
          {% endif %}
          {% endif %}
          {% endif %}"
        attributes:
          attribute: "{{ now().minute }}"

      - name: "energy_3h"
        unique_id: "energy_3h"
        unit_of_measurement: "kWh"
        state_class: "total_increasing"
        device_class: "ENERGY"
        state: "{% if states('sensor.energy_3h_z') is not none %}
          {% if states('sensor.energy_3h_z') | float(default=0) < 0 %}
          {{ 0 }}
          {% else %}
          {{ states('sensor.energy_3h_z') | float(default=0) | round (1) }}
          {% endif %}
          {% endif %}"
        attributes:
          attribute: "{{ now().minute }}"

      - name: "energy_4h_z"
        unique_id: "energy_4h_z"
        unit_of_measurement: "kWh"
        state_class: "total_increasing"
        device_class: "ENERGY"
        state: "{% if states('sensor.power_highest_peak_time_today_dif') is not none %}
          {% if states('sensor.power_highest_peak_time_today_dif') | float(default=0) < 1.0 %}
          {{ 0 }}
          {% else %}
          {% if states('sensor.power_highest_peak_time_today_dif') | float(default=0) > 7.0 %}
          {{ 0 }}
          {% else %}
          {% if states('sensor.power_highest_peak_time_today_dif') | float(default=0) < 2.0 %}
          {{ ( float(states('sensor.energy_production_today_remaining')) - float(states('sensor.energy_current_hour')) - float(states('sensor.energy_next_hour')) ) * 0.15 | float | round (1) }}
          {% else %}
          {% if states('sensor.power_highest_peak_time_today_dif') | float(default=0) < 4.0 %}
          {{ ( float(states('sensor.energy_production_today_remaining')) - float(states('sensor.energy_current_hour')) - float(states('sensor.energy_next_hour')) ) * 0.3 | float | round (1) }}
          {% else %}
          {% if states('sensor.power_highest_peak_time_today_dif') | float(default=0) < 6.0 %}
          {{ ( float(states('sensor.energy_production_today_remaining')) - float(states('sensor.energy_current_hour')) - float(states('sensor.energy_next_hour')) ) * 0.15 | float | round (1) }}
          {% else %}
          {{ 0 }}
          {% endif %}
          {% endif %}
          {% endif %}
          {% endif %}
          {% endif %}
          {% endif %}"
        attributes:
          attribute: "{{ now().minute }}"

      - name: "energy_4h"
        unique_id: "energy_4h"
        unit_of_measurement: "kWh"
        state_class: "total_increasing"
        device_class: "ENERGY"
        state: "{% if states('sensor.energy_4h_z') is not none %}
          {% if states('sensor.energy_4h_z') | float(default=0) < 0 %}
          {{ 0 }}
          {% else %}
          {{ states('sensor.energy_4h_z') | float(default=0) | round (1) }}
          {% endif %}
          {% endif %}"
        attributes:
          attribute: "{{ now().minute }}"

      - name: "energy_6h_z"
        unique_id: "energy_6h_z"
        unit_of_measurement: "kWh"
        state_class: "total_increasing"
        device_class: "ENERGY"
        state: "{% if states('sensor.power_highest_peak_time_today_dif') is not none %}
          {% if states('sensor.power_highest_peak_time_today_dif') | float(default=0) < 3.0 %}
          {{ 0 }}
          {% else %}
          {% if states('sensor.power_highest_peak_time_today_dif') | float(default=0) > 9.0 %}
          {{ 0 }}
          {% else %}
          {% if states('sensor.power_highest_peak_time_today_dif') | float(default=0) < 4.0 %}
          {{ ( float(states('sensor.energy_production_today_remaining')) - float(states('sensor.energy_current_hour')) - float(states('sensor.energy_next_hour')) ) * 0.15 | float | round (1) }}
          {% else %}
          {% if states('sensor.power_highest_peak_time_today_dif') | float(default=0) < 6.0 %}
          {{ ( float(states('sensor.energy_production_today_remaining')) - float(states('sensor.energy_current_hour')) - float(states('sensor.energy_next_hour')) ) * 0.3 | float | round (1) }}
          {% else %}
          {% if states('sensor.power_highest_peak_time_today_dif') | float(default=0) < 8.0 %}
          {{ ( float(states('sensor.energy_production_today_remaining')) - float(states('sensor.energy_current_hour')) - float(states('sensor.energy_next_hour')) ) * 0.15 | float | round (1) }}
          {% else %}
          {{ 0 }}
          {% endif %}
          {% endif %}
          {% endif %}
          {% endif %}
          {% endif %}
          {% endif %}"
        attributes:
          attribute: "{{ now().minute }}"

      - name: "energy_6h"
        unique_id: "energy_6h"
        unit_of_measurement: "kWh"
        state_class: "total_increasing"
        device_class: "ENERGY"
        state: "{% if states('sensor.energy_6h_z') is not none %}
          {% if states('sensor.energy_6h_z') | float(default=0) < 0 %}
          {{ 0 }}
          {% else %}
          {{ states('sensor.energy_6h_z') | float(default=0) | round (1) }}
          {% endif %}
          {% endif %}"
        attributes:
          attribute: "{{ now().minute }}"