Commit 982aea6
fix(deye): fail the first cycle when the startup poll returns no telemetry
automatic_config() runs on the first cycle alone, so a startup that
completed without telemetry would map only the args backed by cached
ratings (soc_max, battery_rate_max, inverter_limit) and permanently skip
the energy args — import_today and friends — until the next process
restart. Since fetch_sensor_data() raises ValueError when load_today is
unset, that aborts every Predbat run.
run() now returns False on a first cycle whose live poll produced
nothing. ComponentBase leaves first set when run() returns False and
retries the whole startup path on its backoff (60s doubling to a 128
minute cap), so startup completes properly once the API answers.
Gated on the live poll only, not on config/battery: that endpoint can be
permanently unsupported on a model (2106001), and gating on it would back
off to 128 minutes and never complete startup. automatic_config() already
degrades gracefully when the battery config is missing.
This closes the gap left by no longer caching telemetry — previously a
restored live cache could have carried a failed first poll.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>1 parent 2e122b0 commit 982aea6
3 files changed
Lines changed: 106 additions & 1 deletion
File tree
- apps/predbat
- tests
- docs/superpowers/specs
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1146 | 1146 | | |
1147 | 1147 | | |
1148 | 1148 | | |
| 1149 | + | |
1149 | 1150 | | |
1150 | | - | |
| 1151 | + | |
1151 | 1152 | | |
1152 | 1153 | | |
1153 | 1154 | | |
| |||
1187 | 1188 | | |
1188 | 1189 | | |
1189 | 1190 | | |
| 1191 | + | |
| 1192 | + | |
| 1193 | + | |
| 1194 | + | |
| 1195 | + | |
| 1196 | + | |
| 1197 | + | |
| 1198 | + | |
| 1199 | + | |
1190 | 1200 | | |
1191 | 1201 | | |
1192 | 1202 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
414 | 414 | | |
415 | 415 | | |
416 | 416 | | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
417 | 499 | | |
418 | 500 | | |
419 | 501 | | |
| |||
576 | 658 | | |
577 | 659 | | |
578 | 660 | | |
| 661 | + | |
| 662 | + | |
579 | 663 | | |
580 | 664 | | |
581 | 665 | | |
| |||
Lines changed: 11 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
152 | 152 | | |
153 | 153 | | |
154 | 154 | | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
155 | 164 | | |
156 | 165 | | |
157 | 166 | | |
| |||
178 | 187 | | |
179 | 188 | | |
180 | 189 | | |
| 190 | + | |
| 191 | + | |
181 | 192 | | |
182 | 193 | | |
183 | 194 | | |
| |||
0 commit comments