|
4 | 4 | - basic: Original tests (parallel calls, read_parameters, filtering) |
5 | 5 | - scalability: Large parameter set tests |
6 | 6 | - dual-circuit: Single vs parallel calls for dual heating circuit params |
7 | | -- triple-circuit: Same idea extended to 3 heating circuits |
8 | 7 | - hot-water: Hot water parameter group loading tests |
9 | 8 |
|
10 | 9 | Usage: |
|
59 | 58 | HC1_PARAMS = ["700", "710", "900", "8000", "8740", "8749"] |
60 | 59 |
|
61 | 60 | # Heating circuit 2 (1000-series) — mirrors HC1 with offset |
62 | | -HC2_PARAMS = ["1000", "1010", "1200", "8001", "8741", "8750"] |
63 | | - |
64 | | -# Heating circuit 3 (1300-series) — mirrors HC1 with offset |
65 | | -HC3_PARAMS = ["1300", "1310", "1500", "8002", "8742", "8751"] |
| 61 | +HC2_PARAMS = ["1000", "1010", "1200", "8001", "8770", "8779"] |
66 | 62 |
|
67 | 63 | # Static values per circuit |
68 | 64 | HC1_STATIC_PARAMS = ["714", "716"] |
69 | 65 | HC2_STATIC_PARAMS = ["1014", "1016"] |
70 | | -HC3_STATIC_PARAMS = ["1314", "1316"] |
71 | 66 |
|
72 | 67 | # Combined dual circuit parameter sets |
73 | 68 | DUAL_HEATING_PARAMS = HC1_PARAMS + HC2_PARAMS |
74 | 69 | DUAL_STATIC_PARAMS = HC1_STATIC_PARAMS + HC2_STATIC_PARAMS |
75 | 70 | DUAL_ALL_PARAMS = DUAL_HEATING_PARAMS + DUAL_STATIC_PARAMS |
76 | 71 |
|
77 | | -# Triple circuit parameter sets |
78 | | -TRIPLE_HEATING_PARAMS = HC1_PARAMS + HC2_PARAMS + HC3_PARAMS |
79 | | -TRIPLE_STATIC_PARAMS = HC1_STATIC_PARAMS + HC2_STATIC_PARAMS + HC3_STATIC_PARAMS |
80 | | -TRIPLE_ALL_PARAMS = TRIPLE_HEATING_PARAMS + TRIPLE_STATIC_PARAMS |
81 | | - |
82 | 72 | # Sensor parameters |
83 | 73 | SENSOR_PARAMS = ["8700", "8740"] |
84 | 74 |
|
@@ -515,78 +505,6 @@ async def _sequential_hc1_hc2() -> None: |
515 | 505 | return suite |
516 | 506 |
|
517 | 507 |
|
518 | | -def build_triple_circuit_suite(bsblan: BSBLAN) -> BenchmarkSuite: |
519 | | - """Build the triple heating circuit benchmark suite. |
520 | | -
|
521 | | - Same idea as dual-circuit but for 3 circuits. Most systems have |
522 | | - at most 2 circuits; HC3 params will return '---' on those |
523 | | - devices but this still measures the network call overhead. |
524 | | - """ |
525 | | - suite = BenchmarkSuite( |
526 | | - name="Triple Heating Circuit", |
527 | | - description=( |
528 | | - "Compare fetching strategies for 3 heating circuits.\n" |
529 | | - " HC1: " + ", ".join(HC1_PARAMS) + "\n" |
530 | | - " HC2: " + ", ".join(HC2_PARAMS) + "\n" |
531 | | - " HC3: " + ", ".join(HC3_PARAMS) |
532 | | - ), |
533 | | - ) |
534 | | - |
535 | | - suite.add( |
536 | | - (f"HC1+HC2+HC3 combined — 1 call ({len(TRIPLE_HEATING_PARAMS)} params)"), |
537 | | - f"1 call ({len(TRIPLE_HEATING_PARAMS)}p)", |
538 | | - lambda: bsblan.read_parameters(TRIPLE_HEATING_PARAMS), |
539 | | - param_count=len(TRIPLE_HEATING_PARAMS), |
540 | | - ) |
541 | | - |
542 | | - suite.add( |
543 | | - "HC1+HC2+HC3 parallel — 3 calls", |
544 | | - "3 parallel", |
545 | | - lambda: asyncio.gather( |
546 | | - bsblan.read_parameters(HC1_PARAMS), |
547 | | - bsblan.read_parameters(HC2_PARAMS), |
548 | | - bsblan.read_parameters(HC3_PARAMS), |
549 | | - ), |
550 | | - param_count=len(TRIPLE_HEATING_PARAMS), |
551 | | - ) |
552 | | - |
553 | | - async def _sequential_3() -> None: |
554 | | - await bsblan.read_parameters(HC1_PARAMS) |
555 | | - await bsblan.read_parameters(HC2_PARAMS) |
556 | | - await bsblan.read_parameters(HC3_PARAMS) |
557 | | - |
558 | | - suite.add( |
559 | | - "HC1+HC2+HC3 sequential — 3 calls", |
560 | | - "3 sequential", |
561 | | - _sequential_3, |
562 | | - param_count=len(TRIPLE_HEATING_PARAMS), |
563 | | - ) |
564 | | - |
565 | | - # Full init with static values |
566 | | - suite.add( |
567 | | - (f"All circuits + static — 1 call ({len(TRIPLE_ALL_PARAMS)} params)"), |
568 | | - f"1 call all ({len(TRIPLE_ALL_PARAMS)}p)", |
569 | | - lambda: bsblan.read_parameters(TRIPLE_ALL_PARAMS), |
570 | | - param_count=len(TRIPLE_ALL_PARAMS), |
571 | | - ) |
572 | | - |
573 | | - suite.add( |
574 | | - "All circuits + static — 6 parallel (heat+static per circ)", |
575 | | - "6 parallel per section", |
576 | | - lambda: asyncio.gather( |
577 | | - bsblan.read_parameters(HC1_PARAMS), |
578 | | - bsblan.read_parameters(HC2_PARAMS), |
579 | | - bsblan.read_parameters(HC3_PARAMS), |
580 | | - bsblan.read_parameters(HC1_STATIC_PARAMS), |
581 | | - bsblan.read_parameters(HC2_STATIC_PARAMS), |
582 | | - bsblan.read_parameters(HC3_STATIC_PARAMS), |
583 | | - ), |
584 | | - param_count=len(TRIPLE_ALL_PARAMS), |
585 | | - ) |
586 | | - |
587 | | - return suite |
588 | | - |
589 | | - |
590 | 508 | def build_hot_water_suite(bsblan: BSBLAN) -> BenchmarkSuite: |
591 | 509 | """Build the hot water parameter benchmark suite.""" |
592 | 510 | suite = BenchmarkSuite( |
@@ -645,7 +563,6 @@ def build_hot_water_suite(bsblan: BSBLAN) -> BenchmarkSuite: |
645 | 563 | "basic": build_basic_suite, |
646 | 564 | "scalability": build_scalability_suite, |
647 | 565 | "dual-circuit": build_dual_circuit_suite, |
648 | | - "triple-circuit": build_triple_circuit_suite, |
649 | 566 | "hot-water": build_hot_water_suite, |
650 | 567 | } |
651 | 568 |
|
|
0 commit comments