Es ist nicht zurückgesetzt.
Es ist nur die Anzeige. Heute Nacht um 23:30 berechnet ganz normal beides. Und die Anzeige wird wieder umgestellt.
Es ist nicht zurückgesetzt.
Es ist nur die Anzeige. Heute Nacht um 23:30 berechnet ganz normal beides. Und die Anzeige wird wieder umgestellt.
Moin,
ich habe mal reingeschaut ob er was im Mittagsupdate macht (da bisher nicht sichtbar) und dabei ist mir eine Merkwürdigkeit aufgefallen und zwar habe ich im Log immer (zumindest die letzten 3 Tage) beim Kriterium 5
Kriterium 5 (Cloud-Cover Diff > 25pp): ✗ NICHT ERFÜLLT
Davor habe ich immer die Zeile:
DEBUG - Error getting current cloud cover: 'WeatherExpertBlender' object has no attribute 'get_blended_forecast'
mmmh, was ist da die Ursache, kann es denn mal erfüllt sein?
hier mal mein gesamtes Log aus dem Bereich:
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - ═══ Adaptive Forecast Check ═══
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - Zeitpunkt: 12:30:00
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO -
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - ▸ Sammle Analysedaten...
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO -
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - ▸ Analyse Vormittag (08:10-12:30):
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - • IST-Produktion: 1.82 kWh
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - • Prognose: 3.03 kWh
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - • Abweichung: -40% (-1.21 kWh)
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO -
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - ▸ Kriterium 1: Signifikante Abweichung
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - • Tagesprognose: 7.41 kWh
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - • Dynamische Schwelle: 0.74 kWh (max von 0.1 kWh oder 10% Tagesprognose)
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - • Abweichung: 1.21 kWh (40%)
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - → ✓ ERFÜLLT (>35% UND >0.74 kWh)
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - ▸ Kriterium 2 (Keine Sondersituation): ✓ ERFÜLLT
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - ▸ Kriterium 3 (>= 4h bis Sunset): ✓ ERFÜLLT (4.7h)
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - ▸ Kriterium 4 (Frische Wetterdaten): ✓ ERFÜLLT (06:00 UTC)
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: Manual 5-source weather update triggered (force=False)
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: Refreshing all 5 weather sources (force=False)...
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update - fetching from Open-Meteo API...
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.data.data_open_meteo_client - DEBUG - Using fresh cached Open-Meteo data
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.data.data_open_meteo_client - DEBUG - Loaded 17 existing days from cache
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Saved Open-Meteo cache: 72 hours, 17 days (in-memory cache also updated)
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update successful: 72 hours
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - DEBUG - Pipeline: Open-Meteo fetch SUCCESS
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - DEBUG - Pipeline: wttr.in cache updated
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - DEBUG - Pipeline: Bright Sky cache updated
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: Expert weather sources (force=False): wttr.in: OK, Bright Sky: OK, Pirate Weather: disabled (no API key)
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - INFO - Creating corrected forecast - 7 days (clear=0, cloudy=7), solar_rad: daily=1.000, clear=1.000, cloudy=1.000
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Loaded Open-Meteo cache: 408 hours
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Reloaded Open-Meteo cache file
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - INFO - Loaded weather cache: 408 hours, 17 days
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.data.data_forecast_handler - DEBUG - Production time updated: active=True, duration=13210s
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - INFO - Created corrected forecast: 408 hours, 7 days precision learning
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: Corrected forecast updated - weather_forecast_corrected.json is SINGLE SOURCE OF TRUTH
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - INFO - Creating fresh weather integration cache with full blending...
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Loaded Open-Meteo cache: 408 hours
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Reloaded Open-Meteo cache file
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - INFO - Loaded weather cache: 408 hours, 17 days
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Integration cache copied to history: weather_integration_2026-02-02.json
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - INFO - Weather integration cache updated: 408 hours, 17 days (fresh 5-source blending)
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: 5-source weather update SUCCESS - 4 sources active
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - DEBUG - Error getting current cloud cover: 'WeatherExpertBlender' object has no attribute 'get_blended_forecast'
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - ▸ Kriterium 5 (Cloud-Cover Diff > 25pp): ✗ NICHT ERFÜLLT
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - • Morning Forecast: 45% clouds
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - • Current Forecast: 45% clouds (+0pp)
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - ══ Ergebnis: KEINE KORREKTUR ══
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - Grund: Wetterdaten nahezu unverändert (Diff: 0pp)
Ich denke, das wird auch noch angepasst.
So sieht es bei mir aber auch aus.
Heute Mittag bei mir.
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - ═══ Adaptive Forecast Check ═══
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - Zeitpunkt: 12:30:00
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO -
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - ▸ Sammle Analysedaten...
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO -
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - ▸ Analyse Vormittag (07:55-12:30):
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - • IST-Produktion: 1.00 kWh
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - • Prognose: 0.23 kWh
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - • Abweichung: +336% (+0.77 kWh)
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO -
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - ▸ Kriterium 1: Signifikante Abweichung
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - • Tagesprognose: 0.58 kWh
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - • Dynamische Schwelle: 0.10 kWh (max von 0.1 kWh oder 10% Tagesprognose)
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - • Abweichung: 0.77 kWh (336%)
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - → ✓ ERFÜLLT (>35% UND >0.10 kWh)
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - ▸ Kriterium 2 (Keine Sondersituation): ✗ NICHT ERFÜLLT (Heavy frost detected)
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - ══ Ergebnis: KEINE KORREKTUR ══
2026-02-02 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - Grund: Sondersituation aktiv: Heavy frost detected
Ach, interessant. Hier passt das mit dem clearer than forecast. Ich erzeuge pro Std weniger als vorhergesagt, aber er sagt mir trotzdem clearer than forecast…. Naja aber der Trend der Vorhersagegenauigkeit passt erstmal
es nähert sich dem Testkandidaten an
ein Fehler noch… “Cross my Fingers”
Das sah vor ein paar “Momenten” noch anders aus… ![]()
Mal gucken was dein 12:30 Lauf macht.
Komisches Verhalten, auf so niedrige Prognose.
Da bin ich auch mal gespannt, ich werde berichten.
Wenn du magst, kannst du mir mal die Log, per PN, schicken, nach 12:30. Habe heute etwas Zeit mich damit zu beschäftigen.
Heute ist ein umgekehrter Tag,
Es soll bewölkt sein, aber es ist wolkenlos.
Ja die Wetterdaten.
Habe ich auch und dem Tom schon mitgeteilt…
Hier nochmal meine Log zum 12:30 Lauf
2026-02-03 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - ═══ Adaptive Forecast Check ═══
2026-02-03 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - Zeitpunkt: 12:30:00
2026-02-03 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO -
2026-02-03 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - ▸ Sammle Analysedaten...
2026-02-03 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO -
2026-02-03 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - ▸ Analyse Vormittag (07:50-12:30):
2026-02-03 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - • IST-Produktion: 0.78 kWh
2026-02-03 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - • Prognose: 0.49 kWh
2026-02-03 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - • Abweichung: +59% (+0.29 kWh)
2026-02-03 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO -
2026-02-03 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - ▸ Kriterium 1: Signifikante Abweichung
2026-02-03 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - • Tagesprognose: 0.98 kWh
2026-02-03 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - • Dynamische Schwelle: 0.10 kWh (max von 0.1 kWh oder 10% Tagesprognose)
2026-02-03 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - • Abweichung: 0.29 kWh (59%)
2026-02-03 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - → ✓ ERFÜLLT (>35% UND >0.10 kWh)
2026-02-03 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - ▸ Kriterium 2 (Keine Sondersituation): ✓ ERFÜLLT
2026-02-03 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - ▸ Kriterium 3 (>= 4h bis Sunset): ✓ ERFÜLLT (5.0h)
2026-02-03 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - ▸ Kriterium 4 (Frische Wetterdaten): ✓ ERFÜLLT (06:00 UTC)
Nachdem dann die Wetterdaten abgerufen waren. Keine Korrektur.
2026-02-03 12:30:14 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: 5-source weather update SUCCESS - 5 sources active
2026-02-03 12:30:14 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - DEBUG - Error getting current cloud cover: 'WeatherExpertBlender' object has no attribute 'get_blended_forecast'
2026-02-03 12:30:14 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - ▸ Kriterium 5 (Cloud-Cover Diff > 25pp): ✗ NICHT ERFÜLLT
2026-02-03 12:30:14 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - • Morning Forecast: 53% clouds
2026-02-03 12:30:14 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - • Current Forecast: 53% clouds (+0pp)
2026-02-03 12:30:14 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - ══ Ergebnis: KEINE KORREKTUR ══
2026-02-03 12:30:14 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - Grund: Wetterdaten nahezu unverändert (Diff: 0pp)
Ich denke, das das auch in der neuen Version gefixt sein wird, deshalb lehne ich mich zurück und bin gespannt. ![]()
ja, ist ein kompletter re-build incl snow, rain, ect..
Ich würde mal gerne wissen wie ich jenes korrekt eintrage. Damit meine ich in allen Modulen. SFML, Stats, Grid Price etc.
Ich bin für jede Anregung dankbar. Ich vermute die meisten haben keinen dynamischen Strompreis.
Ergänzend in der Voll Variante und nicht in der Lite Variante.
Sahara Staub auch? ![]()
http://IP-Adresse/components/readable
An dieser Stelle ein großes Dankeschön an Peter. Das war mir in der Form noch nicht geläufig.
Ich habe mal für HomeAssistant eine entsprechende Abfrage der API erstellt.
Funktioniert vermutlich bei den meisten Fronius Wechselrichtern mit entsprechenden Smartmetern.
Eure IP Adresse und die Adressen der einzelnen Sensoren könnte ihr aus der obigen API Abfrage rausfiltern und auf eure Bedürfnisse anpassen.
- resource: "http://192.168.20.xxx/components/readable"
method: GET
scan_interval: 5
sensor:
- name: "Fronius Grid Power RESTAPI"
value_template: "{{ value_json.Body.Data.Fronius_SmartMeter_23dc82846c1f.channels.SMARTMETER_POWERACTIVE_MEAN_SUM_F64 }}"
unit_of_measurement: "W"
device_class: power
state_class: measurement
- name: "BYD Battery SOC RESTAPI"
value_template: "{{ value_json.Body.Data.BYD_Storage_a33e5474acb2.channels.BAT_VALUE_STATE_OF_CHARGE_RELATIVE_F32 }}"
unit_of_measurement: "%"
device_class: battery
state_class: measurement
- name: "BYD Battery Power RESTAPI"
value_template: "{{ value_json.Body.Data.Fronius_Inverter_f925e2fb74a3.channels.BAT_POWERACTIVE_MEAN_F32 }}"
unit_of_measurement: "W"
device_class: power
state_class: measurement
- name: "Fronius PV Power String 1 RESTAPI"
value_template: "{{ value_json.Body.Data.Fronius_Inverter_f925e2fb74a3.channels.PV_POWERACTIVE_MEAN_01_F32 }}"
unit_of_measurement: "W"
device_class: power
state_class: measurement
- name: "Fronius PV Power String 2 RESTAPI"
value_template: "{{ value_json.Body.Data.Fronius_Inverter_f925e2fb74a3.channels.PV_POWERACTIVE_MEAN_02_F32 }}"
unit_of_measurement: "W"
device_class: power
state_class: measurement
- name: "BYD Battery Temperature RESTAPI"
value_template: "{{ value_json.Body.Data.BYD_Storage_a33e5474acb2.channels.BAT_TEMPERATURE_CELL_F64 }}"
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
- name: "BYD Battery Voltage RESTAPI"
value_template: "{{ value_json.Body.Data.BYD_Storage_a33e5474acb2.channels.BAT_VOLTAGE_DC_INTERNAL_F64 }}"
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
- name: "Grid Frequency RESTAPI"
value_template: "{{ value_json.Body.Data.Fronius_SmartMeter_23dc82846c1f.channels.SMARTMETER_FREQUENCY_MEAN_F64 }}"
unit_of_measurement: "Hz"
device_class: frequency
state_class: measurement
- name: "Grid Phase 1 Power RESTAPI"
value_template: "{{ value_json.Body.Data.Fronius_SmartMeter_23dc82846c1f.channels.SMARTMETER_POWERACTIVE_01_F64 }}"
unit_of_measurement: "W"
device_class: power
state_class: measurement
- name: "Grid Phase 2 Power RESTAPI"
value_template: "{{ value_json.Body.Data.Fronius_SmartMeter_23dc82846c1f.channels.SMARTMETER_POWERACTIVE_02_F64 }}"
unit_of_measurement: "W"
device_class: power
state_class: measurement
- name: "Grid Phase 3 Power RESTAPI"
value_template: "{{ value_json.Body.Data.Fronius_SmartMeter_23dc82846c1f.channels.SMARTMETER_POWERACTIVE_03_F64 }}"
unit_of_measurement: "W"
device_class: power
state_class: measurement
- name: "BYD Battery Current RESTAPI"
value_template: "{{ value_json.Body.Data.BYD_Storage_a33e5474acb2.channels.BAT_CURRENT_DC_F64 }}"
unit_of_measurement: "A"
device_class: current
state_class: measurement
- name: "Fronius PV Energy String 1 Total RESTAPI"
value_template: "{{ (value_json.Body.Data.Fronius_Inverter_f925e2fb74a3.channels.PV_ENERGYACTIVE_ACTIVE_SUM_01_U64 / 3600000) | round(2) }}"
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
- name: "Fronius PV Energy String 2 Total RESTAPI"
value_template: "{{ (value_json.Body.Data.Fronius_Inverter_f925e2fb74a3.channels.PV_ENERGYACTIVE_ACTIVE_SUM_02_U64 / 3600000) | round(2) }}"
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
- name: "Fronius PV Voltage String 1 RESTAPI"
value_template: "{{ value_json.Body.Data.Fronius_Inverter_f925e2fb74a3.channels.PV_VOLTAGE_MEAN_01_F32 }}"
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
- name: "Fronius PV Voltage String 2 RESTAPI"
value_template: "{{ value_json.Body.Data.Fronius_Inverter_f925e2fb74a3.channels.PV_VOLTAGE_MEAN_02_F32 }}"
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
- name: "Fronius PV Current String 1 RESTAPI"
value_template: "{{ value_json.Body.Data.Fronius_Inverter_f925e2fb74a3.channels.PV_CURRENT_MEAN_01_F32 }}"
unit_of_measurement: "A"
device_class: current
state_class: measurement
- name: "Fronius PV Current String 2 RESTAPI"
value_template: "{{ value_json.Body.Data.Fronius_Inverter_f925e2fb74a3.channels.PV_CURRENT_MEAN_02_F32 }}"
unit_of_measurement: "A"
device_class: current
state_class: measurement
- name: "Fronius Battery Charged Total RESTAPI"
value_template: "{{ (value_json.Body.Data.Fronius_Inverter_f925e2fb74a3.channels.BAT_ENERGYACTIVE_ACTIVECHARGE_SUM_01_U64 / 3600000) | round(2) }}"
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
- name: "Fronius Battery Discharged Total RESTAPI"
value_template: "{{ (value_json.Body.Data.Fronius_Inverter_f925e2fb74a3.channels.BAT_ENERGYACTIVE_ACTIVEDISCHARGE_SUM_01_U64 / 3600000) | round(2) }}"
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
# === SMARTMETER ENERGIE ===
- name: "Grid Energy Consumed Total RESTAPI"
value_template: "{{ (value_json.Body.Data.Fronius_SmartMeter_23dc82846c1f.channels.SMARTMETER_ENERGYACTIVE_CONSUMED_SUM_F64 / 1000) | round(2) }}"
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
- name: "Grid Energy Produced Total RESTAPI"
value_template: "{{ (value_json.Body.Data.Fronius_SmartMeter_23dc82846c1f.channels.SMARTMETER_ENERGYACTIVE_PRODUCED_SUM_F64 / 1000) | round(2) }}"
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
- name: "Grid Reactive Energy Consumed RESTAPI"
value_template: "{{ (value_json.Body.Data.Fronius_SmartMeter_23dc82846c1f.channels.SMARTMETER_ENERGYREACTIVE_CONSUMED_SUM_F64 / 1000) | round(2) }}"
unit_of_measurement: "kvarh"
state_class: total_increasing
- name: "Grid Reactive Energy Produced RESTAPI"
value_template: "{{ (value_json.Body.Data.Fronius_SmartMeter_23dc82846c1f.channels.SMARTMETER_ENERGYREACTIVE_PRODUCED_SUM_F64 / 1000) | round(2) }}"
unit_of_measurement: "kvarh"
state_class: total_increasing
# === BATTERIE ENERGIE & STATISTIK ===
- name: "BYD Battery Charged Lifetime RESTAPI"
value_template: "{{ (value_json.Body.Data.BYD_Storage_a33e5474acb2.channels.BAT_ENERGYACTIVE_LIFETIME_CHARGED_F64 / 3600000) | round(2) }}"
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
- name: "BYD Battery Discharged Lifetime RESTAPI"
value_template: "{{ (value_json.Body.Data.BYD_Storage_a33e5474acb2.channels.BAT_ENERGYACTIVE_LIFETIME_DISCHARGED_F64 / 3600000) | round(2) }}"
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
- name: "BYD Battery Max Capacity RESTAPI"
value_template: "{{ (value_json.Body.Data.BYD_Storage_a33e5474acb2.channels.BAT_ENERGYACTIVE_MAX_CAPACITY_F64 / 3600000) | round(2) }}"
unit_of_measurement: "kWh"
device_class: energy
- name: "BYD Battery Health RESTAPI"
value_template: "{{ value_json.Body.Data.BYD_Storage_a33e5474acb2.channels.BAT_VALUE_STATE_OF_HEALTH_RELATIVE_U16 }}"
unit_of_measurement: "%"
state_class: measurement
- name: "BYD Battery Current RESTAPI"
value_template: "{{ value_json.Body.Data.BYD_Storage_a33e5474acb2.channels.BAT_CURRENT_DC_F64 }}"
unit_of_measurement: "A"
device_class: current
state_class: measurement
- name: "BYD Battery Temperature Max RESTAPI"
value_template: "{{ value_json.Body.Data.BYD_Storage_a33e5474acb2.channels.BAT_TEMPERATURE_CELL_MAX_F64 }}"
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
- name: "BYD Battery Temperature Min RESTAPI"
value_template: "{{ value_json.Body.Data.BYD_Storage_a33e5474acb2.channels.BAT_TEMPERATURE_CELL_MIN_F64 }}"
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
Vielleicht kann der eine oder andere etwas damit anfangen.
Aber alle 5 Sekunden neue Werte mit einer Abfrage ist schon sehr nett.
Hier noch ein paar Template Sensoren die auf die API Abfrage funktionieren
# Gesamte PV-Energie
- name: "Fronius PV Energy Total RESTAPI"
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
state: >
{{ states('sensor.fronius_pv_energy_string_1_total_restapi') | float(0) +
states('sensor.fronius_pv_energy_string_2_total_restapi') | float(0) }}
# Batterie-Effizienz
- name: "Battery Efficiency RESTAPI"
unit_of_measurement: "%"
state: >
{% set charged = states('sensor.byd_battery_charged_lifetime_restapi') | float(0) %}
{% set discharged = states('sensor.byd_battery_discharged_lifetime_restapi') | float(0) %}
{% if charged > 0 %}
{{ ((discharged / charged) * 100) | round(1) }}
{% else %}
0
{% endif %}
# Eigenverbrauch (Wirkleistung)
- name: "House Consumption RESTAPI"
unit_of_measurement: "W"
device_class: power
state_class: measurement
state: >
{% set pv = states('sensor.fronius_pv_power_string_1_restapi') | float(0) + states('sensor.fronius_pv_power_string_2_restapi') | float(0) %}
{% set grid = states('sensor.fronius_grid_power_restapi') | float(0) %}
{% set bat = states('sensor.byd_battery_power_restapi') | float(0) %}
{{ (pv + grid + bat) | round(0) }}
# Autarkiegrad (momentan)
- name: "Energy Self Sufficiency RESTAPI"
unit_of_measurement: "%"
state: >
{% set pv = states('sensor.fronius_pv_power_string_1_restapi') | float(0) + states('sensor.fronius_pv_power_string_2_restapi') | float(0) %}
{% set consumption = states('sensor.house_consumption_restapi') | float(0) %}
{% if consumption > 100 %}
{{ ((pv / consumption) * 100) | round(1) }}
{% else %}
0
{% endif %}
# Netz-Status
- name: "Grid Status RESTAPI"
state: >
{% set grid = states('sensor.fronius_grid_power_restapi') | float(0) %}
{% if grid > 50 %}
Bezug
{% elif grid < -50 %}
Einspeisung
{% else %}
Neutral
{% endif %}
# Batterie-Status
- name: "Battery Status RESTAPI"
state: >
{% set power = states('sensor.byd_battery_power_restapi') | float(0) %}
{% if power > 50 %}
Entladen
{% elif power < -50 %}
Laden
{% else %}
Standby
{% endif %}
Hallo Dietmar, ob das korrekt ist? Ich habe mit @Tom-HA darüber philosophiert und dann ist das das dabei rausgekommen:
Mein Stromanbieter gibt mir nur die Zahlen inkl. Netzentgeld, Steuern und Abgaben. So sind wir dann auf den Anbieter-Aufschlag von 14,74 zzgl MWSt. (siehe obere Auswahl: 19% werden aufgeschlagen) gekommen.
Dann bei Dir:
Anbieter-Aufschlag 25,72 inkl. MWSt. - also rausrechnen. Der Grundpreis geteilt durch 12 Monate. Ich würde 21,61 zzgl. der vermutlich verbrauchten kWh (Du hast wahrscheinlich noch alte Jahresverbräuche) aufteilen auf die 20,92 x 12 und dann den vermutlichen ct/kWh ausrechnen.
Den Preis dann addiert in Anbieter-Aufschlag eintragen. Die MWSt. Wird dann ja automatisch ausgerechnet.
Mal unter uns; mir erscheint der Preis ein bisschen hoch.