Rate Limits — wie oft darf ich die API fragen?
Community: 200 billable Anfragen/Tag pro Key (Forecast, Hours, PV, Flex, Decision, Weather …). Basic ohne Key: 60/h pro IP. Professional: 600/h pro Account. OEM: 3000/h. Telemetrie hat ein eigenes Softcap und zählt nicht gegen das Fair-Use-/Stundenkontingent.
Was ist ein Rate Limit?
Ein Limit schützt den Dienst und andere Nutzer: niemand soll die API hundertmal pro Sekunde bombardieren.
Alltagsbeispiel: Wie „maximal 3 Anrufe pro Stunde bei der Hotline“ — bei Überschreitung kommt eine klare Absage (bei uns oft HTTP 429).
Was gilt grob?
| Art | Typische Nutzung | Hinweis |
|---|---|---|
| Billable-Pool | Forecast, Decision, Windows/Flex, Hours Decide, PV Forecast, Weather | Gemeinsames Tages-/Stundenkontingent je Produktstufe |
| Telemetry | SOC-/Zähler-Pings, Hours mode=telemetry | Eigenes Softcap — frisst nicht den Billable-Pool |
| Status / Health | /v1/status, /health | Zählt nicht |
| Duplicates | identischer Loxone-Doppel-GET innerhalb ~3 s | nur einmal billable (auch bei Fair-Use-Ceiling → kein 429) |
| not_available | Basic/anon auf Hours/Windows/PV/Weather | access_denied — kein Reserve/Billable |
Produktstufen (Abo)
| Stufe | Limit | Fenster |
|---|---|---|
| Community | 200 / Tag pro Key | Kalendertag Europe/Vienna |
| Professional | 600 / Stunde pro Account | laufende Stunde |
| OEM / Enterprise | 3000 / Stunde pro Account | laufende Stunde |
Nicht-Abo (Technik/Legacy): Basic anonym 60/h pro IP · Home-Legacy 120/h pro Key — gleicher Billable-Pool, keine eigene Produktstufe.
Telemetry-Softcap: Community 2000/Tag, bezahlt 10000/Tag.
Kill-Switch (Ops): QUOTA_UNIFIED_BILLABLE=0 stellt die früheren PV-/Weather-Softcaps (48/288) wieder her; Fair-Use-Override: RATE_LIMIT_COMMUNITY_PER_DAY.
Empfehlung fürs Smart Home
| Aktion | Takt |
|---|---|
| Forecast / Decide / Hours | stündlich oder nach Ereignis (z. B. nach 14 Uhr Day-Ahead) |
| Telemetry | alle 5–15 Minuten oder bei SOC-Stufen (50→40→30…) |
| PV Forecast / Weather | stündlich (Server-Cache); zählt gegen denselben Billable-Pool |
| Windows / Flex | bei Bedarf, nicht sekündlich |
EMS-Geräte pollen nicht jede Sekunde — das braucht niemand und trifft Limits.
Was tun bei 429?
1. Kurz warten (Retry-After-Header) 2. Intervall vergrößern 3. Telemetry und Decide trennen (richtige Endpoints)
Auf erfolgreichen /v1/*-Antworten und auf 429 stehen X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-RateLimit-Scope.
Nächste Schritte
Community registrieren oder Code-Beispiele mit Ihrem persönlichen Key.