Die Anlage hat 11,04 Kwp.
Ich bin jetzt nochmals alle Tage im Juli durchgegangen,der 29.7 ist der Tag mit dem größten Bezug. Und das sind ja auch nur 3KW/h die sollte keine 188147€ kosten.
Dein Juni Wert sieht aber auch schon merkwürdig aus. Nur 1 kWh Verbrauch/Bezug.
Zieht sich der Fehler evtl. vom Juni in den Juli rüber?
Genau darum erstmal die Frage nach der Anlage.
Gruss
Die Werte zieht sich Stats aus der SFML-Datenbank.
An sich werden die von SolarForecast ML geschrieben.
Guten morge,
Hast Du dein Probehm schon lösen können?
Warst ja gestern scheinbar online dabei.
Ich konnte leider nicht.
Gruss
Danke der Nachfrage, nee hab gestern Abend nichts mehr unternommen, das Meeting dauerte doch länger.
Tom wollte sich heute Abend mal bei mir melden. Gruß
Hallo @Milkaschokolade
Bei Dir ist noch mehr nicht in Ordnung wenn ich deine Tabelle betrachte.
z.B PV Ertrag sehr unrealistische unterschiedliche Werte.
Es ist schwierig für mich deine Sensoren zu prüfen.
Es dürfen in der STATS Konfig nur Leistungssensoren (W) sein!
Keine Energie (kWh) Sensoren .
Wurden alle mal bei einem Update umgestellt dabei hat sich bei mir ein falscher Sensor eingeschlichen.
Du solltest deine ganzen Sensoren mal in ruhe prüfen. (kleingedrucktes lesen)
Anleitung studieren .
z.B Hier solltest Du deinem Smartmeter Leistung (W) Sensor eintragen.
(nur positive Werte)
(Bezug)
Servus Wolfgang, bei diesem Sensor steht optional da habe ich den lieber frei gelassen. Bevor ich mir da diesen Sensor selber falsch zusammenbaue. Ich habe jetzt mal stats und die SMA App zusammen fotografiert. Die Werte sind für mich schon plausibel. Die Aktualisierung ist natürlich ein bisschen verzögert.
Moin Flori,
vor Lichtjahren wurde das hier beschrieben:
Hallo Tom,
im Schatten-Fingerprint auf der Solar-Seite von STATS sind bei mir seit gut zwei Wochen nur noch Januar und August gefüllt. Februar bis Juli stehen leer, im Gesamtsystem wie in allen drei Gruppen. Vorher standen da einige Einträge, die ich für den niedrigen Sonnenstand im Frühjahr plausibel fand. Ich habe versucht herauszufinden, woran es liegt, dass ich jetzt nichts mehr angezeigt bekomme. Herausgekommen sind zwei nach meinem oberflächlichen Verständnis mögliche Ursachen, die vermutlich nichts miteinander zu tun haben.
/api/sfml_stats/solar/shadow_fingerprint liefert für _system_ fünf Slots: Januar 12 Uhr, August 14, 17, 18 und 19 Uhr. Das sind genau die fünf Zeilen in shadow_pattern_seasonal mit dominant_cause = 'possible_obstruction'. Pro Gruppe dasselbe Bild: Gruppe 1 acht solcher Zeilen in der Datenbank, sieben geliefert, Gruppe 2 sieben und sechs, Gruppe 3 eine und eine. Alles mit anderer Ursache fällt schon in der Schnittstelle heraus. Das STATS-Frontend filtert offensichtlich nicht nach Ursache, es überspringt nur Zellen mit intensity <= 0.5.
Leer ist die Tabelle deswegen nicht. Für _system_ stehen dort 112 Zellen:
| Ursache | Zellen |
|---|---|
unknown |
84 |
low_sun_angle |
13 |
weather_clouds |
10 |
possible_obstruction |
5 |
Auf Februar bis Juli entfallen 90 davon, 88 von ihnen mit dem Attribut unknown.
Auf dem Host liegen noch zwei ältere Datenbankstände. Der Vergleich zeigt, dass nichts gelöscht wurde.
shadow_pattern_seasonal, Monat Februar, Stand 06.05.2026:
7 x panel_frost, 4 x night, 3 x low_radiation, 1 x low_sun_angle (15 Zellen)
Derselbe Monat heute:
15 x unknown (15 Zellen)
März, April und Mai sehen genauso aus. Die zwei low_sun_angle-Zellen pro Monat überleben, alle anderen Ursachen kippen nach unknown. Eine Zelle, die als Frost auf den Modulen erkannt wurde, ist aber keine unbekannte Zelle. Aus der Karte fällt sie trotzdem heraus.
Am 03.08. sah die Tabelle schon aus wie heute. Die Umstellung liegt also zwischen dem 06.05. und dem 03.08. Nebenbei: Im Stand vom 06.05. hatte der Januar gar keine Saisonzellen, heute hat er neun. (Im Januar lief SFML bei mir noch gar nicht.) Da muss sich wohl die Aggregation selbst etwas ausgedacht haben.
low_radiation auf jeder Tagesstunde von März bis JuliIn hourly_shadow_detection sieht es je Monat so aus:
| Monat | building_tree_obstruction |
low_radiation |
|---|---|---|
| 2026-01 | 31 | 0 |
| 2026-02 | 28 | 29 |
| 2026-03 | 0 | 291 |
| 2026-04 | 0 | 340 |
| 2026-05 | 0 | 403 |
| 2026-06 | 0 | 398 |
| 2026-07 | 13 | 364 |
| 2026-08 | 43 | 0 |
Im Mai und Juni sind das die Stunden 6 bis 19, an jedem einzelnen Tag, lückenlos. In den beiden strahlungsstärksten Monaten des Jahres. Leere Zeilen sind es nicht: Alle 1825 low_radiation-Stunden stehen auf method = ensemble und ensemble_mode = full, mittlere Konfidenz 0,69, mittlerer Schattenanteil 22 %. Gemessen wurde also ein Defizit. Es ist nur der geringen Einstrahlung zugeschlagen worden.
Am 29.07. hört das von einem Tag auf den anderen auf. Bis zum 28.07. dreizehn low_radiation-Stunden täglich, ab dem 29.07. keine einzige mehr, und Gebäude- und Baumschatten werden wieder erkannt. Im Log finde ich zu dem Tag weder einen Neustart noch einen Versionswechsel. Was sich da geändert hat, weiß ich nicht.
Nachträglich überschrieben wurde nichts. Die laufenden Nummern in hourly_shadow_detection stehen streng nach Datum, und der Stand vom 06.05. zeigt März und April schon mit 0 und 291 beziehungsweise 340.
backfill_shadow_detection mit target_date: 2026-05-15 lässt vorhandene Zeilen in Ruhe und schreibt ins Log:
Service: backfill_shadow_detection
Backfilling shadow detection for 2026-05-15
No missing shadow detection for 2026-05-15
repair_tool bietet nur daily_cumulative_actual an, das passt nicht.
Also habe ich die 18 Zeilen des Tages gelöscht, damit der Backfill sie als fehlend ansieht. Vorher gesichert, und die Sicherung an einer Kopie der Datenbank ausprobiert. Die Neuberechnung ergab 15 Zeilen, alle insufficient_reference und not_evaluable, ensemble_mode = cloud_based, Konfidenz 0,0, Schattenanteil 0. Die Lux- und Einstrahlungswerte aus dem Mai sind aus dem Recorder längst raus, dem Vollmodus fehlt die Referenz. Das ist schlechter als der Bestand. Ich habe die Originalzeilen zurückgespielt und über die Prüfsumme kontrolliert, es steht alles wieder wie vorher.
Die alten Monate neu rechnen kann ich nicht, die Referenzdaten gibt es nicht mehr. In der Datenbank stehen die Informationen aber noch. Ihnen fehlt nur das passende Attribut.
Wenn die Saisonauswertung panel_frost, low_radiation, night und normal_variation behielte, statt sie nach unknown zu schieben, und der Fingerprint sie mitzeichnete, meinetwegen in anderer Farbe oder über einen Schalter, dann wären die Frühjahrsmonate wieder da. Ohne dass irgendetwas neu berechnet werden müsste.
Das low_radiation von März bis Juli sieht für mich nach einem eigenen Fehler aus, zumal es am 29.07. von selbst verschwunden ist. Ob da beim Übergang etwas geradegezogen wurde, kannst nur Du sagen.
Das sind alles meine Vermutungen auf der Basis von Halbwissen, ich kenne ja nur die Datenbank und nicht Deinen Code. Wenn Du Abfragen brauchst oder die beiden alten Datenbankstände haben willst, sag Bescheid.
Viele Grüße, Burkard
System: 15,3 kWp · Ost/West/Süd (5,78/3,74/5,78 kWp) · KOSTAL PIKO 15 · NUC i9 / Proxmox / HAOS 18.2 · HA 2026.8.1 · SFML 42.0.8 · SFML Stats 42.0.8
Hallo @Burkard
vielen Dank für deinen ausführlichen Beitrag. Es ist so, dass ich die Schattenerkennung komplett neugeschrieben habe. - Das war notwendig und wichtig.
Das ist ein sehr großer und sensibler Eingriff in die KI gewesen. - Neben Wetter ist die Schattenerkennung einer der größten und sensibelsten Bereiche.
Im Update habe ich es beschrieben, ich würde Dich bitte dort mal vorbei zu schauen.
Um zukünftig jedem die Möglichkeit zu geben sich nicht durch zahlreiche Forenbeiträge zu wühlen und schneller ans Ziel zu kommen, die Updates und Hilfestellungen einfache und logischer zu finden.. baue ich gerade mit Basti eine Webseite.
Gruß
Zara
Okay, verstehe ich also richtig: It’s not a bug, it’s a feature? ![]()
Dann brauche ich ja nicht weiter über mögliche Ursachen zu rätseln.
Hier als link zum Nachlesen.
Ich möchte hier auch noch etwas zum Thema Schatten thematisieren. Mir geht es dabei um etwas Grundverständnis.
Seit gestern am späten Nachmittag läuft die V44.0.0, noch unter HA core 2026.7.2 im Docker-Container auf NUC unter Ubuntu. Das sfml-Log sieht aus meiner Sicht so aus, als hätte ich ein perfekt laufendes System:
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - INFO - Similar weather underforecast signal suppressed due to rain-gating (regime=rain_overcast, rain=0.6)
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - INFO - Similar weather underforecast signal suppressed due to rain-gating (regime=rain_overcast, rain=0.6)
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - INFO - Similar weather underforecast signal suppressed due to rain-gating (regime=rain_overcast, rain=0.6)
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly_predictions persistence for compute-only forecast
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Forecast strategy summary: hours=72, bad_weather_cap=1, bad_weather_confidence=1, regime_bias_correction=4, regime_learning_available=72, regime_tfs_risk_cap=4, similar_weather_adjustment=23, similar_weather_tfs_cap_relaxation=1, similar_weather_underforecast_relaxation=23, static_regime_bias=4, tfs_adaptive_blend=42, tfs_low_sun_envelope=1, tfs_policy_adjustment=5
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.physics.panel_group_calculator - INFO - PhysicsCalibrator attached to PanelGroupCalculator
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-08-13, 2026-08-14, 2026-08-15
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=138.07 kWh, Tomorrow=127.65 kWh, Day After=122.14 kWh, Method=AI + Physics
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Forecast storage skipped for locked morning forecasts: today, tomorrow, day_after_tomorrow
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - Generated full forecast for 2026-08-13: today=138.07, tomorrow=127.65, day_after=122.14 kWh
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Loaded 72 weather hours from DB (3-day range: 2026-08-13 to 2026-08-15)
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Ensemble shadow morning batch created: 61da2716-0247-40a6-96db-e0177a1d44ac
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO -
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - ================================================================================
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - MORNING ROUTINE EXECUTION - Attempt 1/1 for 2026-08-13
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - ================================================================================
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - → Step 1/5: Validating prerequisites...
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - All prerequisites validated
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - ✓ Prerequisites validated: 72 forecast hours, 72 weather hours
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - ℹ Inverter capping enabled: 18.50 kW
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - → Step 2/5: Creating hourly predictions in database...
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - ├─ Checking and unlocking existing forecast locks...
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - │ 🔓 Found 24 existing predictions - will update
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - │ 🔓 Unlocking daily_forecast (was locked at 2026-08-13 00:25:07.372973+02:00 by morning_routine)
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - ├─ Preparing to update predictions for 3 days...
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - │ Preserved 1 hourly actuals, 3 group actuals before re-creation
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - │ Cleared 72 existing prediction slots for update
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - ├─ Processing 72 input forecast entries (3 days)...
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.data.data_ensemble_shadow - INFO - Ensemble shadow batch 61da2716-0247-40a6-96db-e0177a1d44ac captured: 45 hours, 3 not evaluable
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - │ Candidate shadow evidence captured for batch 61da2716-0247-40a6-96db-e0177a1d44ac: 72 rows
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - ├─ Restored 1 hourly actuals, 3 group actuals, 1 sensor, 1 weather actuals
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - ├─ Calculating daily totals from saved predictions for 3 days...
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - │ → 2026-08-13: 138.07 kWh
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - │ → 2026-08-14: 127.65 kWh
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - │ → 2026-08-15: 122.14 kWh
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - ├─ Saving daily forecasts to database for 3 days...
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - → Daily forecasts LOCKED for 3 days: locked=TRUE, locked_at=2026-08-13 05:20:04.567206+02:00
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - ├─ Updating coordinator expected daily production...
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.data.data_state_handler - DEBUG - Expected daily production saved: 138.07 kWh
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - ├─ Setting morning routine lock for 2026-08-13...
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - → Lock flag set: last_set_date = 2026-08-13
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - └─ SUMMARY:
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - • Input entries: 72 (3 days)
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - • Created predictions: 72
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - • Predictions per day:
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - - 2026-08-13: 24 hours, 138.07 kWh
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - - 2026-08-14: 24 hours, 127.65 kWh
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - - 2026-08-15: 24 hours, 122.14 kWh
2026-08-13 05:20:04 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - • Coordinator updated: Yes (today=138.07 kWh)
2026-08-13 05:20:05 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - ├─ Operational morning snapshot mirrored successfully
2026-08-13 05:20:05 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - ✓ Hourly predictions created successfully
2026-08-13 05:20:05 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - → Step 3/5: Verifying data integrity...
2026-08-13 05:20:05 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Integrity verified for 3 days starting from 2026-08-13, no duplicates
2026-08-13 05:20:05 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - ✓ Data integrity verified - no duplicates found
2026-08-13 05:20:05 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - → Step 4/5: Refreshing coordinator cache...
2026-08-13 05:20:05 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after
2026-08-13 05:20:05 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - ✓ Coordinator cache refreshed
2026-08-13 05:20:05 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - → Step 5/5: Triggering sensor updates...
2026-08-13 05:20:05 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days
2026-08-13 05:20:05 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: {'temperature': 13.3, 'humidity': 67.0, 'wind_speed': 0.0, 'rain': 0.0, 'pressure': 1025.6, 'solar_radiation': 0.01, 'lux': 1.3}
2026-08-13 05:20:05 - custom_components.solar_forecast_ml.ai.ai_predictor - INFO - AIPredictor initialized: 3 groups, 24.66 kWp total, max_kwh_per_hour=9.87
2026-08-13 05:20:05 - custom_components.solar_forecast_ml.ai.ai_tiny_lstm - INFO - TinyLSTM V3.0: input=36, layers=(48,24), seq=24, outputs=3, heads=4
2026-08-13 05:20:05 - custom_components.solar_forecast_ml.ai.ai_tiny_ridge - INFO - TinyRidge initialized: input=36, seq=24, flat_size=864, outputs=3
2026-08-13 05:20:05 - custom_components.solar_forecast_ml.ai.ai_tiny_ridge - INFO - TinyRidge weights loaded: outputs=3, samples=819, alpha=100.0, accuracy=0.878
2026-08-13 05:20:05 - custom_components.solar_forecast_ml.ai.ai_predictor - INFO - Ridge weights loaded: 819 samples
2026-08-13 05:20:05 - custom_components.solar_forecast_ml.ai.ai_tiny_lstm - INFO - Weights loaded: layers=(48,24), outputs=3, heads=4
2026-08-13 05:20:05 - custom_components.solar_forecast_ml.ai.ai_predictor - INFO - LSTM weights loaded: 0 samples
2026-08-13 05:20:05 - custom_components.solar_forecast_ml.ai.ai_predictor - INFO - Dual-model weights loaded: 1045 samples, active=tiny_lstm, R²=0.899, RMSE=0.166kWh
2026-08-13 05:20:05 - custom_components.solar_forecast_ml.ai.ai_predictor - INFO - Model candidate shadow acquisition reconciled: selected=c688a875-b6f8-4e2e-809d-cd12514cd446 compatible=1 incompatible=0
2026-08-13 05:20:05 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)...
2026-08-13 05:20:05 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 135.62 kWh (from DB: 2026-08-12)
2026-08-13 05:20:05 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - TFS forecast: 243.25 kWh (score 1.00)
2026-08-13 05:20:07 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - INFO - Similar weather underforecast signal suppressed due to rain-gating (regime=rain_overcast, rain=0.6)
2026-08-13 05:20:07 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - INFO - Similar weather underforecast signal suppressed due to rain-gating (regime=rain_overcast, rain=0.6)
2026-08-13 05:20:07 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - INFO - Similar weather underforecast signal suppressed due to rain-gating (regime=rain_overcast, rain=0.6)
2026-08-13 05:20:07 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-08-13, 2026-08-14, 2026-08-15
2026-08-13 05:20:07 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Forecast strategy summary: hours=72, bad_weather_cap=1, bad_weather_confidence=1, regime_bias_correction=4, regime_learning_available=72, regime_tfs_risk_cap=4, similar_weather_adjustment=23, similar_weather_underforecast_relaxation=23, static_regime_bias=4, tfs_adaptive_blend=42, tfs_policy_adjustment=4
2026-08-13 05:20:07 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=137.48 kWh, Tomorrow=126.97 kWh, Day After=121.53 kWh, Method=AI + Physics
2026-08-13 05:20:07 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Forecast storage skipped for locked morning forecasts: today, tomorrow, day_after_tomorrow
2026-08-13 05:20:07 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=137.48 kWh, tomorrow=126.97 kWh, method=AI + Physics, hourly_entries=72
2026-08-13 05:20:07 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data
2026-08-13 05:20:07 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine
2026-08-13 05:20:07 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine
2026-08-13 05:20:07 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine
2026-08-13 05:20:07 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks)
2026-08-13 05:20:07 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after
2026-08-13 05:20:07 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 2.500 seconds (success: True)
2026-08-13 05:20:07 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - ✓ Sensor updates triggered
2026-08-13 05:20:07 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO -
2026-08-13 05:20:07 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - ================================================================================
2026-08-13 05:20:07 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - ✓✓✓ MORNING ROUTINE SUCCESSFUL ✓✓✓
2026-08-13 05:20:07 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Date: 2026-08-13 | Attempt: 1/1
2026-08-13 05:20:07 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - ================================================================================
2026-08-13 05:20:07 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO -
In dieser Jahreszeit habe ich keinerlei wirklich relevante Schatten auf meinen Panelfruppen. 2 sind auf ESE-Seite, einer auf WNW. Die letztere bekommt natürlich erst so etwas wie eine direkte Einstrahlung, wenn bei meinem Dach mit 30° Neigung die Sonne höher als 30° steigt (aktuell so gegen 09:30). Zu dieser Zeit wirft da ein Schornstein Schatten drauf, aber da die Einstrahlung wie ein Streifschuss kommt, wird da eh noch nichts Signifikantes produziert.
Etwas ähnliches gilt natürlich für die ESE-Seite, wenn die Sonne im Westen 30° Elevation unterschreitet.
Mein Frage - berücksichtigt sfml meine 30°-Angabe für die Neigung und weiß, dass das keine Verschattung ist, die nur temporär im JAhr auftritt, sondern eine “by design”, und rechnet das dann nicht zu der “erkannten Verschattung”? Letzteres wäre bei mir ab dem Spätherbst der Fall, wenn die Spitzer eines hohen Baums gegen Mittag eine wandernde Teilverschattung auf den ESE-Panelgruppen erzeugt.
sfml zeigt mir aktuell das hier:
und das hier:
Die Anzeige verstehe ich so, dass täglich um 14 Uhr herum (Oder in der 14. Stunde) ein wiederkehrender Schatten erkannt wird. Stimmt das? Falls ja, was könnte die Ursache sein? Wo soll ich hinschauen? Die Sonne steht um diese Zeit so hoch, dass da nichts verschattet wird. Ach ja, ich habe eine Einstrahlungssensor in W/m². Meine naive Annahme ist, das sfml den Kurvenverlauf der Einstrahlungsleistung am Sensor und den Panels vergleicht und wenn bei den Panels eine Delle auftritt, einen Schatten erkennt. Der Sensor steht nur ca. 25 m vom Haus entfernt, Wolken müssten so herausgefiltert werden können, weil sie beides praktisch gleichzeitig verschatten. Liege ich da richtig?
Und noch eine Ergänzung:
Dass da auch bei sfml eigentlich kein signifikannter Schatten in die Prognose eingerechnet worden ist, deutet für mich die Übereinstimmung der Solcast- mit der sfml-Prognose an. Wir hatten ja fast durchgänging gutes Wetter mit wenig Wolken, so dass lokales Wetter fast keine Rolle spielt. Die sind sich daher einig. Aber vielleicht hat solcast ja auch bei sfml abgeschrieben
.
Das es V.44.0.02 gibt, ist Dir sicherlich entgangen?
Nein, ist mir nicht entgangen. Aber ich hatte natürlich die Releasenotes dazu gelesen, und wenn ich die richtig verstanden habe, betrifft die Änderung nur Kleinigkeiten, die mit Schatten nichtssagend meine zu tun haben.
Ich hatte auch die neue Docs-Seite zum Thema Schatten angeschaut, aber dort nichts gefunden, das den physikalischen Ansatz erläutert, auf welchen Messdaten und Parametern das Modell arbeitet. Daher mein Post.
@Tom-Ha
Guten Morgen in die Runde ![]()
In den Hilfeseiten konnte ich noch keine passende Erklärung dazu finden. Mir ist aufgefallen, dass in STATS an 2 verschiedenen Stellen der Gesamt PV Erzeugungswert unterschiedlich angezeigt wird.
Einmal bei:
STATS → Smart Charging → Solar Jahresbilanz → Gesamt - Ertrag (361,9 kWh)?
Und bei:
STATS → Solar & Prognose → Solar Analytics → * Monatlicher Solarertrag (kWh) → Bisher gemessener Ertrag (497 kWh) ?
Sollten da nicht die gleichen Werte angezeigt werden, und falls meine Vermutung stimmt, der Wert von dem gleichen Sensor abgefragt werden? Bin da etwas ‘Monk’ wenn Werte zu verschieden sind und versuche der Sache dann nach zu gehen… hmmm
Btw: mein Jahreszähler (HA Verbrauchszähler) zeigt wieder einen anderen Wert an (547,35 kWh)??
Stimmen die Werte bei Euch?
Viele Grüße,
Dieter