From fcea1a5c46eca7f43784d6ce8174383e7e507571 Mon Sep 17 00:00:00 2001 From: cayossarian <23534755+cayossarian@users.noreply.github.com> Date: Fri, 9 Oct 2026 13:43:03 -0700 Subject: [PATCH 1/5] test(captures): render the card over each reference capture's topology The topology and entity states the integration produces for each capture are copied from its test fixtures; the card must load, draw the reported breaker positions, keep meters outside the grid, show unpublished readings as unknown, and render each capture as its snapshot records. Part of the spanos3/r202639/03 batch 2 work. --- .prettierignore | 3 + .../capture-topologies.test.ts.snap | 3590 +++++++++++ tests/capture-topologies.test.ts | 144 + .../expected_entities/main32_r202633.json | 2898 +++++++++ .../expected_entities/main32_r202639.json | 2534 ++++++++ .../fixtures/expected_entities/r202639-a.json | 799 +++ .../fixtures/expected_entities/r202639-b.json | 2367 +++++++ .../fixtures/expected_entities/r202639-c.json | 1237 ++++ .../fixtures/expected_entities/r202639-d.json | 1554 +++++ .../fixtures/expected_entities/r202639-e.json | 5736 +++++++++++++++++ tests/fixtures/topology/main32_r202633.json | 727 +++ tests/fixtures/topology/main32_r202639.json | 652 ++ tests/fixtures/topology/r202639-a.json | 114 + tests/fixtures/topology/r202639-b.json | 534 ++ tests/fixtures/topology/r202639-c.json | 266 + tests/fixtures/topology/r202639-d.json | 406 ++ tests/fixtures/topology/r202639-e.json | 1492 +++++ 17 files changed, 25053 insertions(+) create mode 100644 tests/__snapshots__/capture-topologies.test.ts.snap create mode 100644 tests/capture-topologies.test.ts create mode 100644 tests/fixtures/expected_entities/main32_r202633.json create mode 100644 tests/fixtures/expected_entities/main32_r202639.json create mode 100644 tests/fixtures/expected_entities/r202639-a.json create mode 100644 tests/fixtures/expected_entities/r202639-b.json create mode 100644 tests/fixtures/expected_entities/r202639-c.json create mode 100644 tests/fixtures/expected_entities/r202639-d.json create mode 100644 tests/fixtures/expected_entities/r202639-e.json create mode 100644 tests/fixtures/topology/main32_r202633.json create mode 100644 tests/fixtures/topology/main32_r202639.json create mode 100644 tests/fixtures/topology/r202639-a.json create mode 100644 tests/fixtures/topology/r202639-b.json create mode 100644 tests/fixtures/topology/r202639-c.json create mode 100644 tests/fixtures/topology/r202639-d.json create mode 100644 tests/fixtures/topology/r202639-e.json diff --git a/.prettierignore b/.prettierignore index c27d695..65a58d4 100644 --- a/.prettierignore +++ b/.prettierignore @@ -4,6 +4,9 @@ dist/ # Dependencies node_modules/ +# Fixtures copied byte for byte from the integration's test fixtures +tests/fixtures/ + # IDE files .vscode/ .idea/ diff --git a/tests/__snapshots__/capture-topologies.test.ts.snap b/tests/__snapshots__/capture-topologies.test.ts.snap new file mode 100644 index 0000000..abb03c8 --- /dev/null +++ b/tests/__snapshots__/capture-topologies.test.ts.snap @@ -0,0 +1,3590 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`the card over capture 'main32_r202633' > renders as before > grid 1`] = ` +"
1
+
+
+
+ 15A + 1% + Circuit 1 +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 20A + 1% + Circuit 2 +
+
+ 16W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
2
3
+
+
+
+ 15A + 1% + Circuit 3 +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 20A + 1% + Circuit 4 +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
4
5
+
+
+
+ 15A + 1% + Circuit 5 +
+
+ -5.1W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 20A + 1% + Circuit 6 +
+
+ 5.7W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
6
7
+
+
+
+ 15A + 1% + Circuit 7 +
+
+ 9.2W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 20A + 1% + Circuit 8 +
+
+ 0W +
+ On + +
+
+
+
+ + + + SoC + + +
+
+
+
8
9
+
+
+
+ 15A + 6% + Circuit 9 +
+
+ 102W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 20A + 1% + Circuit 10 +
+
+ 3.8W +
+ On + +
+
+
+
+ + + + SoC + + +
+
+
+
10
11
+
+
+
+ 15A + 1% + Circuit 11 +
+
+ 4.5W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 15A + 5% + Circuit 12 +
+
+ 73W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
12
13
+
+
+
+ 20A + 1% + Circuit 13 +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 20A + 1% + Circuit 14 +
+
+ 3.4W +
+ On + +
+
+
+
+ + + + SoC + + +
+
+
+
14
15
+
+
+
+ 20A + 1% + Circuit 15 +
+
+ 0W +
+ On + +
+
+
+
+ + + + SoC + + +
+
+
+
16
17
+
+ — +
+ +
+
+
+ 20A + 1% + Circuit 16 +
+
+ 3.4W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
18
19
+
+ — +
+ +
+
+
+ 20A + 18% + Circuit 17 +
+
+ 320W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
20
21
+
+ — +
+ +
+
+
+ 20A + 1% + Circuit 18 +
+
+ 11W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
22
23
+
+ — +
+ +
+
+
+ 20A + 1% + Circuit 19 +
+
+ 0W +
+ On + +
+
+
+
+ + + + SoC + + +
+
+
+
24
25
+
+ — +
+ +
+ — +
+
26
27
+
+ — +
+ +
+ — +
+
28
29
+
+ — +
+ +
+ — +
+
30
31
+
+ — +
+ +
+ — +
+
32
" +`; + +exports[`the card over capture 'main32_r202633' > renders as before > header 1`] = ` +"
+ +
+ Site +
+ 2.7 + kW +
+
+ +
+ Grid +
+ dsm_on_grid +
+
+ +
+ Upstream +
+ 2.5 + kW +
+
+ +
+ Downstream +
+ -- + kW +
+
+ +
+ Solar +
+ 0.0 + kW +
+
+ +
+ Battery +
+ 100 + % +
+
+
" +`; + +exports[`the card over capture 'main32_r202639' > renders as before > grid 1`] = ` +"
1
+
+
+
+ 20A + 1% + Kitchen-Outlets-1 & Outlets-2 +
+
+ 3.3W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 30A + 0% + Clothes-Dryer +
+
+ 4.0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
2
3
4
5
+
+
+
+ 20A + 1% + Attic-Back-Outlet +
+
+ 0W +
+ On + +
+
+
+
+ + + + SoC + + +
+
+
+ +
+
+
+ 45A + 0% + HVAC-Heating-Coil +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
6
7
+
+
+
+ 20A + 2% + Wine Refrigerator +
+
+ 34W +
+ On + +
+
+
+
+ + + + SoC + + +
+
+
+
8
9
+
+
+
+ 30A + 0% + Water-Heater +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 50A + 1% + HVAC-Heat-Pump +
+
+ 4.4W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
10
11
12
13
+
+
+
+ 30A + 1% + HVAC-Air-Handler +
+
+ 68W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 50A + 0% + Ovens +
+
+ 12W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
14
15
16
17
+
+
+
+ 30A + 0% + Studio-HVAC +
+
+ 13W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 50A + 2% + Cooktop/Stove +
+
+ 6.6W +
+ On + +
+
+
+
+ + + + SoC + + +
+
+
+
18
19
20
21
+
+
+
+ 30A + 0% + Future-240VAC-1 +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 20A + 1% + Espresso-Machine +
+
+ 3.8W +
+ On + +
+
+
+
+ + + + SoC + + +
+
+
+
22
23
24
25
+
+
+
+ 30A + 0% + Future-240VAC-2 +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 30A + 0% + Shed-240VAC-Outlet +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
26
27
28
29
+
+
+
+ + + Commissioned PV System +
+
+ 1.6kW + +
+
+
+ + + + + + +
+
+
+ +
+ — +
+
30
31
+
+ — +
+
32
" +`; + +exports[`the card over capture 'main32_r202639' > renders as before > header 1`] = ` +"
+ +
+ Site +
+ 2.9 + kW +
+
+ +
+ Grid +
+ dsm_on_grid +
+
+ +
+ Upstream +
+ 1.3 + kW +
+
+ +
+ Downstream +
+ -- + kW +
+
+ +
+ Solar +
+ 1.6 + kW +
+
+ +
+ Battery +
+ 100 + % +
+
+
" +`; + +exports[`the card over capture 'r202639-a' > renders as before > grid 1`] = ` +"
+
+
+
+ 15A + 0% + 7 Bathroom / Outlets +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
14
15
+
+ — +
+ +
+
+
+ 15A + 0% + 6 Kitchen / Outlets +
+
+ -0.1W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
16
" +`; + +exports[`the card over capture 'r202639-a' > renders as before > header 1`] = ` +"
+ +
+ Site +
+ 0.0 + kW +
+
+ +
+ Grid +
+ dsm_on_grid +
+
+ +
+ Upstream +
+ 0.0 + kW +
+
+ +
+ Downstream +
+ -- + kW +
+
+ + +
" +`; + +exports[`the card over capture 'r202639-b' > renders as before > grid 1`] = ` +"
9
+
+
+
+ 30A + 0% + breaker-1 +
+
+ 0W +
+ On + +
+
+
+
+ + +
+
+
+ +
+
+
+ 30A + 0% + breaker-2 +
+
+ 0W +
+ On + +
+
+
+
+ + +
+
+
+
10
11
+
+
+
+ 30A + 0% + breaker-3 +
+
+ 0W +
+ On + +
+
+
+
+ + +
+
+
+ +
+
+
+ 30A + 0% + breaker-4 +
+
+ 0.1W +
+ On + +
+
+
+
+ + +
+
+
+
12
13
+
+
+
+ 30A + 0% + breaker-5 +
+
+ 0W +
+ On + +
+
+
+
+ + +
+
+
+ +
+
+
+ 30A + 0% + breaker-6 +
+
+ 0.1W +
+ On + +
+
+
+
+ + +
+
+
+
14
15
+
+
+
+ 30A + 0% + breaker-7 +
+
+ 0W +
+ On + +
+
+
+
+ + +
+
+
+ +
+
+
+ 30A + 0% + breaker-8 +
+
+ 0.1W +
+ On + +
+
+
+
+ + +
+
+
+
16
17
+
+
+
+ 30A + 0% + breaker-9 +
+
+ 0.9W +
+ On + +
+
+
+
+ + +
+
+
+ +
+
+
+ 30A + 0% + breaker-10 +
+
+ 0.1W +
+ On + +
+
+
+
+ + +
+
+
+
18
19
+
+
+
+ 30A + 0% + breaker-11 +
+
+ 1.1W +
+ On + +
+
+
+
+ + +
+
+
+ +
+
+
+ 30A + 0% + breaker-12 +
+
+ 0.1W +
+ On + +
+
+
+
+ + +
+
+
+
20
21
+
+
+
+ 30A + 0% + breaker-13 +
+
+ 0W +
+ On + +
+
+
+
+ + +
+
+
+ +
+
+
+ 30A + 0% + breaker-14 +
+
+ 0W +
+ On + +
+
+
+
+ + +
+
+
+
22
23
+
+
+
+ 30A + 0% + breaker-15 +
+
+ 0W +
+ On + +
+
+
+
+ + +
+
+
+ +
+
+
+ 30A + 0% + breaker-16 +
+
+ 0W +
+ On + +
+
+
+
+ + +
+
+
+
24
" +`; + +exports[`the card over capture 'r202639-b' > renders as before > header 1`] = ` +"
+ +
+ Site +
+ 0.0 + kW +
+
+ +
+ Grid +
+ unknown +
+
+ +
+ Upstream +
+ 0.0 + kW +
+
+ +
+ Downstream +
+ -- + kW +
+
+ + +
" +`; + +exports[`the card over capture 'r202639-c' > renders as before > grid 1`] = ` +"
9
+
+
+
+ 15A + 0% + Bedroom / Lights +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 30A + 0% + Other +
+
+ 0.1W +
+ On + +
+
+
+
+ + +
+
+
+
10
11
+
+ — +
+
12
13
+
+ — +
+ +
+ — +
+
14
15
+
+ — +
+ +
+ — +
+
16
17
+
+
+
+ 20A + 0% + Bathroom / Outlets +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+ — +
+
18
19
+
+
+
+ 15A + 0% + Living room / Lights +
+
+ 0.5W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+ — +
+
20
21
+
+ — +
+ +
+ — +
+
22
23
+
+ — +
+ +
+ — +
+
24
25
+
+ — +
+ +
+ — +
+
26
27
+
+ — +
+ +
+ — +
+
28
29
+
+ — +
+ +
+ — +
+
30
31
+
+ — +
+ +
+ — +
+
32
33
+
+ — +
+ +
+ — +
+
34
35
+
+ — +
+ +
+ — +
+
36
37
+
+ — +
+ +
+ — +
+
38
39
+
+ — +
+ +
+ — +
+
40
41
+
+ — +
+ +
+ — +
+
42
43
+
+
+
+ 60A + 0% + Tesla +
+
+ 0.1W + +
+
+
+ + + + + + +
+
+
+ +
+ — +
+
44
45
+
+ — +
+
46
47
+
+ — +
+ +
+ — +
+
48
" +`; + +exports[`the card over capture 'r202639-c' > renders as before > header 1`] = ` +"
+ +
+ Site +
+ 0.0 + kW +
+
+ +
+ Grid +
+ dsm_on_grid +
+
+ +
+ Upstream +
+ 0.0 + kW +
+
+ +
+ Downstream +
+ -- + kW +
+
+ + +
+ Battery +
+ 53 + % +
+
+
" +`; + +exports[`the card over capture 'r202639-d' > renders as before > grid 1`] = ` +"
1
+
+ — +
+ +
+ — +
+
2
3
+
+
+
+ 20A + 0% + Bedroom, Kitchen / Lights +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+ — +
+
4
5
+
+ — +
+ +
+
+
+ 20A + 0% + Neutral forming transformer (NFT) +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
6
7
+
+ — +
+
8
9
+
+ — +
+ +
+ — +
+
10
11
+
+
+
+ 20A + 0% + Office / Outlets +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+ — +
+
12
13
+
+
+
+ 40A + 0% + Lucid charger +
+
+ 0W + +
+
+
+ + + + + + +
+
+
+ +
+
+
+ 60A + 0% + Electric oven +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
14
15
16
17
+
+ — +
+ +
+ — +
+
18
19
+
+
+
+ 20A + 0% + Utility room / Lights & Outlets +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+ — +
+
20
21
+
+ — +
+ +
+
+
+ 60A + 0% + FLEX⁺ +
+
+ 9.7W + +
+
+
+ + +
+
+
+
22
23
+
+ — +
+
24
" +`; + +exports[`the card over capture 'r202639-d' > renders as before > header 1`] = ` +"
+ +
+ Site +
+ 0.0 + kW +
+
+ +
+ Grid +
+ unknown +
+
+ +
+ Upstream +
+ 0.0 + kW +
+
+ +
+ Downstream +
+ -- + kW +
+
+ + +
+ Battery +
+ -- + % +
+
+
" +`; + +exports[`the card over capture 'r202639-e' > renders as before > grid 1`] = ` +"
1
+
+
+
+ 35A + 0% + HVAC +
+
+ 0W +
+ Off + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 40A + 0% + Electric Double-Oven +
+
+ 4.5W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
2
3
4
5
+
+
+
+ 30A + 0% + Heat Pump Water Heater +
+
+ 0W +
+ On + +
+
+
+
+ + + + SoC + + +
+
+
+ +
+
+
+ 30A + 0% + Laundry Room +
+
+ -0.1W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
6
7
8
9
+
+
+
+ 20A + 0% + Electric range +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 20A + 0% + Dining room / Lights & Outlets +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
10
11
+
+
+
+ 20A + 0% + Microwave +
+
+ 0W +
+ Off + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 20A + 0% + Kitchen fr. door & Isle Alt. Outlets +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
12
13
+
+
+
+ 20A + 0% + Primary Bath Outlets +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 15A + 0% + Furnace +
+
+ 0W +
+ Off + +
+
+
+
+ + + + SoC + + +
+
+
+
14
15
+
+
+
+ 20A + 0% + Kitchen / Outlets +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 15A + 0% + Bed 2 & Shared Bath Lights & Outlets +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
16
17
+
+
+
+ 15A + 0% + Family Room +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 15A + 0% + Primary bedroom / Lights & Outlets +
+
+ 0.1W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
18
19
+
+
+
+ 60A + 0% + SPAN Drive +
+
+ 1.3W + +
+
+
+ + +
+
+
+ +
+
+
+ 20A + 0% + Bedroom / Outlets +
+
+ -0.1W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
20
21
+
+
+
+ 15A + 0% + Primary Bath & Closets +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
22
23
+
+
+
+ 15A + 0% + Kitchen Sink Garbage Disposal +
+
+ 0.1W +
+ On + +
+
+
+
+ + + + SoC + + +
+
+
+ +
+
+
+ 15A + 0% + Smoke/CO Detectors +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
24
25
+
+
+
+ 15A + 0% + Dishwasher +
+
+ 0W +
+ On + +
+
+
+
+ + + + SoC + + +
+
+
+ +
+
+
+ 15A + 0% + Basement Outlets exit door wall +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
26
27
+
+
+
+ 15A + 0% + Main Office & Fam TV +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 15A + 0% + Living room / Lights & Outlets +
+
+ 0.1W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
28
29
+
+
+
+ 15A + 0% + Basement Outlets French Door Wall +
+
+ -0.1W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 15A + 0% + Sump Pump +
+
+ -0.1W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
30
31
+
+
+
+ 20A + 0% + Basement / Lights & Outlets +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 15A + 0% + Kitchen / Lights +
+
+ 0.1W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
32
33
+
+
+
+ 20A + 0% + Utility Room +
+
+ 0.1W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 15A + 0% + Security system +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
34
35
+
+
+
+ 20A + 0% + Hood +
+
+ 0W +
+ On + +
+
+
+
+ + +
+
+
+ +
+
+
+ 15A + 0% + Utility Room Dedicated +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
36
37
+
+
+
+ 20A + 0% + Basement / Lights & Outlets +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 20A + 0% + Refrigerator +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
38
39
+
+
+
+ 10A + 0% + Bathroom / Outlets +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 20A + 0% + Freezer +
+
+ -0.1W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
40
41
+
+
+
+ 15A + 0% + Kitchen / Outlets +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 20A + 0% + Kitchen / Lights +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
42
43
+
+
+
+ 20A + 0% + Electric Infared Sauna +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 15A + 0% + Bedroom / Outlets +
+
+ -0.1W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
44
45
+
+
+
+ 20A + 0% + Main Office Dedicated Outlets +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 20A + 0% + Living room / Lights +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
46
47
+
+
+
+ 20A + 0% + Bidet Outlets Basement & Main Floor +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+ +
+
+
+ 10A + 0% + Dining room / Lights +
+
+ 0W +
+ On + +
+
+
+
+ + + + + + +
+
+
+
48
" +`; + +exports[`the card over capture 'r202639-e' > renders as before > header 1`] = ` +"
+ +
+ Site +
+ 0.0 + kW +
+
+ +
+ Grid +
+ dsm_on_grid +
+
+ +
+ Upstream +
+ 0.0 + kW +
+
+ +
+ Downstream +
+ -- + kW +
+
+ + +
" +`; diff --git a/tests/capture-topologies.test.ts b/tests/capture-topologies.test.ts new file mode 100644 index 0000000..e1d5cd6 --- /dev/null +++ b/tests/capture-topologies.test.ts @@ -0,0 +1,144 @@ +/** + * The card rendered over each reference capture as the integration reports it. + * + * `fixtures/topology/.json` is the integration's `panel_topology` answer for + * the capture and `fixtures/expected_entities/.json` the entities it creates + * with their states; both are copied unchanged from the integration's test + * fixtures of the same name. A drawn grid and header must follow from them, and + * the snapshots hold every capture's rendering still: a change to one is a + * deliberate, visible edit. + */ +import { describe, it, expect, vi, afterEach } from "vitest"; +import "../src/card/span-panel-card.js"; +import { t } from "../src/i18n.js"; +import type { CardConfig, HomeAssistant, HassEntity, PanelTopology } from "../src/types.js"; +import { FakeConnection, hassWith } from "./fake-connection.js"; +import main32R202633Topology from "./fixtures/topology/main32_r202633.json"; +import main32R202639Topology from "./fixtures/topology/main32_r202639.json"; +import aTopology from "./fixtures/topology/r202639-a.json"; +import bTopology from "./fixtures/topology/r202639-b.json"; +import cTopology from "./fixtures/topology/r202639-c.json"; +import dTopology from "./fixtures/topology/r202639-d.json"; +import eTopology from "./fixtures/topology/r202639-e.json"; +import main32R202633Entities from "./fixtures/expected_entities/main32_r202633.json"; +import main32R202639Entities from "./fixtures/expected_entities/main32_r202639.json"; +import aEntities from "./fixtures/expected_entities/r202639-a.json"; +import bEntities from "./fixtures/expected_entities/r202639-b.json"; +import cEntities from "./fixtures/expected_entities/r202639-c.json"; +import dEntities from "./fixtures/expected_entities/r202639-d.json"; +import eEntities from "./fixtures/expected_entities/r202639-e.json"; + +interface ExpectedEntities { + entities: Record; +} + +interface Capture { + stem: string; + topology: PanelTopology; + entities: ExpectedEntities; +} + +const CAPTURES: Capture[] = [ + { stem: "main32_r202633", topology: main32R202633Topology as PanelTopology, entities: main32R202633Entities }, + { stem: "main32_r202639", topology: main32R202639Topology as PanelTopology, entities: main32R202639Entities }, + { stem: "r202639-a", topology: aTopology as PanelTopology, entities: aEntities }, + { stem: "r202639-b", topology: bTopology as PanelTopology, entities: bEntities }, + { stem: "r202639-c", topology: cTopology as PanelTopology, entities: cEntities }, + { stem: "r202639-d", topology: dTopology as PanelTopology, entities: dEntities }, + { stem: "r202639-e", topology: eTopology as PanelTopology, entities: eEntities }, +]; + +/** The states Home Assistant holds for the capture: every entity that is not disabled. */ +function statesOf(entities: ExpectedEntities): Record { + const states: Record = {}; + for (const { entity_id, state } of Object.values(entities.entities)) { + if (state === null) continue; + states[entity_id] = { entity_id, state, attributes: {}, last_changed: "", last_updated: "" }; + } + return states; +} + +/** Monitoring as the integration answers it before anyone turns it on. */ +const MONITORING_OFF = { enabled: false }; + +type MountedCard = HTMLElement & { setConfig(c: CardConfig): void; hass: HomeAssistant }; + +const mounted: HTMLElement[] = []; +afterEach(() => { + for (const el of mounted.splice(0)) el.remove(); +}); + +async function render(capture: Capture): Promise { + const callWS = (async (msg: Record) => { + if (msg.type === "span_panel/panel_topology") return structuredClone(capture.topology); + if (msg.type === "call_service" && msg.service === "get_monitoring_status") return { response: MONITORING_OFF }; + return []; + }) as HomeAssistant["callWS"]; + const hass = hassWith(new FakeConnection(), { callWS, states: statesOf(capture.entities) }); + const card = document.createElement("span-panel-card") as MountedCard; + card.setConfig({ device_id: capture.topology.device_id ?? "panel" }); + document.body.appendChild(card); + mounted.push(card); + card.hass = hass; + await vi.waitFor(() => expect(card.shadowRoot!.querySelector(".panel-grid")).not.toBeNull()); + return card.shadowRoot!; +} + +function labels(root: ParentNode): number[] { + return [...root.querySelectorAll(".panel-grid .tab-label")].map(label => Number(label.textContent)).sort((a, b) => a - b); +} + +function range(first: number, last: number): number[] { + return Array.from({ length: last - first + 1 }, (_, i) => first + i); +} + +function statText(root: ParentNode, name: string): string | null { + return root.querySelector(`.panel-stats .${name} .stat-value`)?.textContent ?? null; +} + +describe.each(CAPTURES)("the card over capture $stem", capture => { + const { topology } = capture; + const states = statesOf(capture.entities); + + it("loads, with no topology error", async () => { + const root = await render(capture); + expect(root.textContent).not.toContain(t("card.topology_error")); + }); + + it("draws exactly the breaker positions the panel reports", async () => { + const root = await render(capture); + expect(labels(root)).toEqual(range(topology.first_position!, topology.last_position!)); + }); + + it("draws every breaker of its own in the grid and every meter outside it", async () => { + const root = await render(capture); + const slots = new Set([...root.querySelectorAll(".panel-grid .circuit-slot[data-uuid]")].map(el => el.dataset.uuid)); + for (const [id, circuit] of Object.entries(topology.circuits)) { + if (circuit.shared_meter_group) continue; + expect(slots.has(id), id).toBe(circuit.outside_panel !== true); + } + }); + + it("shows the battery charge only as published", async () => { + const root = await render(capture); + const entityId = topology.panel_entities?.battery_level; + if (!entityId) { + expect(root.querySelector(".panel-stats .stat-battery")).toBeNull(); + return; + } + const charge = Number.parseFloat(states[entityId]?.state ?? ""); + expect(statText(root, "stat-battery")).toBe(Number.isFinite(charge) ? `${Math.round(charge)}` : "--"); + }); + + it("shows the grid state the integration reports", async () => { + const root = await render(capture); + const entityId = topology.panel_entities?.dsm_state; + expect(statText(root, "stat-grid-state")).toBe(entityId ? (states[entityId]?.state ?? "--") : null); + }); + + it("renders as before", async () => { + const root = await render(capture); + expect(root.querySelector(".panel-stats")!.outerHTML).toMatchSnapshot("header"); + expect(root.querySelector(".panel-grid")!.outerHTML).toMatchSnapshot("grid"); + }); +}); diff --git a/tests/fixtures/expected_entities/main32_r202633.json b/tests/fixtures/expected_entities/main32_r202633.json new file mode 100644 index 0000000..22bf3fa --- /dev/null +++ b/tests/fixtures/expected_entities/main32_r202633.json @@ -0,0 +1,2898 @@ +{ + "devices": { + "nt-0000-panel": { + "hw_version": "1.2", + "manufacturer": "SPAN", + "model": "MAIN_32", + "name": "Span Panel", + "serial_number": null, + "sw_version": "spanos3/r202633/02", + "via_device": null + }, + "nt-0000-panel_bess": { + "hw_version": null, + "manufacturer": "Tesla", + "model": "Powerwall 2 AC", + "name": "Span Panel Battery", + "serial_number": "serial0001", + "sw_version": "26.26.4 68c2bc82", + "via_device": "nt-0000-panel" + }, + "nt-0000-panel_mid": { + "hw_version": null, + "manufacturer": "Tesla", + "model": "Microgrid Interconnect Device", + "name": "Span Panel Microgrid Interconnect", + "serial_number": "serial0002", + "sw_version": null, + "via_device": "nt-0000-panel" + }, + "nt-0000-panel_pv": { + "hw_version": null, + "manufacturer": "Enphase Energy", + "model": "IQ7PLUS-72-x-ACM-US-y", + "name": "Span Panel Solar", + "serial_number": null, + "sw_version": null, + "via_device": "nt-0000-panel" + } + }, + "entities": { + "span_nt-0000-panel_15adf6fa36ada1dba2184e9bcaa7fa44_breaker_rating": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_circuit_12_breaker_rating", + "hidden_by": null, + "original_name": "Circuit 12 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_15adf6fa36ada1dba2184e9bcaa7fa44_current": { + "device": "nt-0000-panel", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_12_current", + "hidden_by": null, + "original_name": "Circuit 12 Current", + "platform": "sensor", + "state": "0.7", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_15adf6fa36ada1dba2184e9bcaa7fa44_energy_consumed": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_12_consumed_energy", + "hidden_by": null, + "original_name": "Circuit 12 Consumed Energy", + "platform": "sensor", + "state": "1065194.1", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_15adf6fa36ada1dba2184e9bcaa7fa44_energy_net": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_12_net_energy", + "hidden_by": null, + "original_name": "Circuit 12 Net Energy", + "platform": "sensor", + "state": "1064988.5", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_15adf6fa36ada1dba2184e9bcaa7fa44_energy_produced": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_12_produced_energy", + "hidden_by": null, + "original_name": "Circuit 12 Produced Energy", + "platform": "sensor", + "state": "205.6", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_15adf6fa36ada1dba2184e9bcaa7fa44_power": { + "device": "nt-0000-panel", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_12_power", + "hidden_by": null, + "original_name": "Circuit 12 Power", + "platform": "sensor", + "state": "73.3", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-0000-panel_1ac7fbc901ecb9d0c785dd3234b21a3c_breaker_rating": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_circuit_10_breaker_rating", + "hidden_by": null, + "original_name": "Circuit 10 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_1ac7fbc901ecb9d0c785dd3234b21a3c_current": { + "device": "nt-0000-panel", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_10_current", + "hidden_by": null, + "original_name": "Circuit 10 Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_1ac7fbc901ecb9d0c785dd3234b21a3c_energy_consumed": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_10_consumed_energy", + "hidden_by": null, + "original_name": "Circuit 10 Consumed Energy", + "platform": "sensor", + "state": "539141.3", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_1ac7fbc901ecb9d0c785dd3234b21a3c_energy_net": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_10_net_energy", + "hidden_by": null, + "original_name": "Circuit 10 Net Energy", + "platform": "sensor", + "state": "538959.3", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_1ac7fbc901ecb9d0c785dd3234b21a3c_energy_produced": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_10_produced_energy", + "hidden_by": null, + "original_name": "Circuit 10 Produced Energy", + "platform": "sensor", + "state": "182.0", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_1ac7fbc901ecb9d0c785dd3234b21a3c_power": { + "device": "nt-0000-panel", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_10_power", + "hidden_by": null, + "original_name": "Circuit 10 Power", + "platform": "sensor", + "state": "3.8", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-0000-panel_1bc992eaeb96482b1d019edecfcc18c2_breaker_rating": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_circuit_5_breaker_rating", + "hidden_by": null, + "original_name": "Circuit 5 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_1bc992eaeb96482b1d019edecfcc18c2_current": { + "device": "nt-0000-panel", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_5_current", + "hidden_by": null, + "original_name": "Circuit 5 Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_1bc992eaeb96482b1d019edecfcc18c2_energy_consumed": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_5_consumed_energy", + "hidden_by": null, + "original_name": "Circuit 5 Consumed Energy", + "platform": "sensor", + "state": "74400.1", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_1bc992eaeb96482b1d019edecfcc18c2_energy_net": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_5_net_energy", + "hidden_by": null, + "original_name": "Circuit 5 Net Energy", + "platform": "sensor", + "state": "42865.5", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_1bc992eaeb96482b1d019edecfcc18c2_energy_produced": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_5_produced_energy", + "hidden_by": null, + "original_name": "Circuit 5 Produced Energy", + "platform": "sensor", + "state": "31534.6", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_1bc992eaeb96482b1d019edecfcc18c2_power": { + "device": "nt-0000-panel", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_5_power", + "hidden_by": null, + "original_name": "Circuit 5 Power", + "platform": "sensor", + "state": "-5.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-0000-panel_26ae0676844ed69346cccae68c2d516a_breaker_rating": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_circuit_19_breaker_rating", + "hidden_by": null, + "original_name": "Circuit 19 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_26ae0676844ed69346cccae68c2d516a_current": { + "device": "nt-0000-panel", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_19_current", + "hidden_by": null, + "original_name": "Circuit 19 Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_26ae0676844ed69346cccae68c2d516a_energy_consumed": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_19_consumed_energy", + "hidden_by": null, + "original_name": "Circuit 19 Consumed Energy", + "platform": "sensor", + "state": "3440.7", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_26ae0676844ed69346cccae68c2d516a_energy_net": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_19_net_energy", + "hidden_by": null, + "original_name": "Circuit 19 Net Energy", + "platform": "sensor", + "state": "1236.8", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_26ae0676844ed69346cccae68c2d516a_energy_produced": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_19_produced_energy", + "hidden_by": null, + "original_name": "Circuit 19 Produced Energy", + "platform": "sensor", + "state": "2203.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_26ae0676844ed69346cccae68c2d516a_power": { + "device": "nt-0000-panel", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_19_power", + "hidden_by": null, + "original_name": "Circuit 19 Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-0000-panel_2835afc8a591cc382c4972a3538b824f_breaker_rating": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_circuit_6_breaker_rating", + "hidden_by": null, + "original_name": "Circuit 6 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_2835afc8a591cc382c4972a3538b824f_current": { + "device": "nt-0000-panel", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_6_current", + "hidden_by": null, + "original_name": "Circuit 6 Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_2835afc8a591cc382c4972a3538b824f_energy_consumed": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_6_consumed_energy", + "hidden_by": null, + "original_name": "Circuit 6 Consumed Energy", + "platform": "sensor", + "state": "992065.0", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_2835afc8a591cc382c4972a3538b824f_energy_net": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_6_net_energy", + "hidden_by": null, + "original_name": "Circuit 6 Net Energy", + "platform": "sensor", + "state": "991755.9", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_2835afc8a591cc382c4972a3538b824f_energy_produced": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_6_produced_energy", + "hidden_by": null, + "original_name": "Circuit 6 Produced Energy", + "platform": "sensor", + "state": "309.1", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_2835afc8a591cc382c4972a3538b824f_power": { + "device": "nt-0000-panel", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_6_power", + "hidden_by": null, + "original_name": "Circuit 6 Power", + "platform": "sensor", + "state": "5.7", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-0000-panel_2e591e0d0cdc0e8bdbfdccbfc86d14ca_breaker_rating": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_circuit_18_breaker_rating", + "hidden_by": null, + "original_name": "Circuit 18 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_2e591e0d0cdc0e8bdbfdccbfc86d14ca_current": { + "device": "nt-0000-panel", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_18_current", + "hidden_by": null, + "original_name": "Circuit 18 Current", + "platform": "sensor", + "state": "0.2", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_2e591e0d0cdc0e8bdbfdccbfc86d14ca_energy_consumed": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_18_consumed_energy", + "hidden_by": null, + "original_name": "Circuit 18 Consumed Energy", + "platform": "sensor", + "state": "723598.1", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_2e591e0d0cdc0e8bdbfdccbfc86d14ca_energy_net": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_18_net_energy", + "hidden_by": null, + "original_name": "Circuit 18 Net Energy", + "platform": "sensor", + "state": "722589.2", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_2e591e0d0cdc0e8bdbfdccbfc86d14ca_energy_produced": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_18_produced_energy", + "hidden_by": null, + "original_name": "Circuit 18 Produced Energy", + "platform": "sensor", + "state": "1008.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_2e591e0d0cdc0e8bdbfdccbfc86d14ca_power": { + "device": "nt-0000-panel", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_18_power", + "hidden_by": null, + "original_name": "Circuit 18 Power", + "platform": "sensor", + "state": "10.6", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-0000-panel_367c30fcffa7ac59fe428d7c426bd19d_breaker_rating": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_circuit_1_breaker_rating", + "hidden_by": null, + "original_name": "Circuit 1 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_367c30fcffa7ac59fe428d7c426bd19d_current": { + "device": "nt-0000-panel", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_1_current", + "hidden_by": null, + "original_name": "Circuit 1 Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_367c30fcffa7ac59fe428d7c426bd19d_energy_consumed": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_1_consumed_energy", + "hidden_by": null, + "original_name": "Circuit 1 Consumed Energy", + "platform": "sensor", + "state": "14525.6", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_367c30fcffa7ac59fe428d7c426bd19d_energy_net": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_1_net_energy", + "hidden_by": null, + "original_name": "Circuit 1 Net Energy", + "platform": "sensor", + "state": "-36024.9", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_367c30fcffa7ac59fe428d7c426bd19d_energy_produced": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_1_produced_energy", + "hidden_by": null, + "original_name": "Circuit 1 Produced Energy", + "platform": "sensor", + "state": "50550.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_367c30fcffa7ac59fe428d7c426bd19d_power": { + "device": "nt-0000-panel", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_1_power", + "hidden_by": null, + "original_name": "Circuit 1 Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-0000-panel_36afaccafd19b2bfbcb6fcb5d6089399_breaker_rating": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_circuit_2_breaker_rating", + "hidden_by": null, + "original_name": "Circuit 2 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_36afaccafd19b2bfbcb6fcb5d6089399_current": { + "device": "nt-0000-panel", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_2_current", + "hidden_by": null, + "original_name": "Circuit 2 Current", + "platform": "sensor", + "state": "0.2", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_36afaccafd19b2bfbcb6fcb5d6089399_energy_consumed": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_2_consumed_energy", + "hidden_by": null, + "original_name": "Circuit 2 Consumed Energy", + "platform": "sensor", + "state": "973252.4", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_36afaccafd19b2bfbcb6fcb5d6089399_energy_net": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_2_net_energy", + "hidden_by": null, + "original_name": "Circuit 2 Net Energy", + "platform": "sensor", + "state": "973251.9", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_36afaccafd19b2bfbcb6fcb5d6089399_energy_produced": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_2_produced_energy", + "hidden_by": null, + "original_name": "Circuit 2 Produced Energy", + "platform": "sensor", + "state": "0.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_36afaccafd19b2bfbcb6fcb5d6089399_power": { + "device": "nt-0000-panel", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_2_power", + "hidden_by": null, + "original_name": "Circuit 2 Power", + "platform": "sensor", + "state": "15.5", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-0000-panel_420ee28ea3d7362dad8d341cc93e50b3_breaker_rating": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_circuit_9_breaker_rating", + "hidden_by": null, + "original_name": "Circuit 9 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_420ee28ea3d7362dad8d341cc93e50b3_current": { + "device": "nt-0000-panel", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_9_current", + "hidden_by": null, + "original_name": "Circuit 9 Current", + "platform": "sensor", + "state": "0.9", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_420ee28ea3d7362dad8d341cc93e50b3_energy_consumed": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_9_consumed_energy", + "hidden_by": null, + "original_name": "Circuit 9 Consumed Energy", + "platform": "sensor", + "state": "274309.6", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_420ee28ea3d7362dad8d341cc93e50b3_energy_net": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_9_net_energy", + "hidden_by": null, + "original_name": "Circuit 9 Net Energy", + "platform": "sensor", + "state": "274267.1", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_420ee28ea3d7362dad8d341cc93e50b3_energy_produced": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_9_produced_energy", + "hidden_by": null, + "original_name": "Circuit 9 Produced Energy", + "platform": "sensor", + "state": "42.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_420ee28ea3d7362dad8d341cc93e50b3_power": { + "device": "nt-0000-panel", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_9_power", + "hidden_by": null, + "original_name": "Circuit 9 Power", + "platform": "sensor", + "state": "101.6", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-0000-panel_45ac025e77f416de0113e7ec0514925d_breaker_rating": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_circuit_11_breaker_rating", + "hidden_by": null, + "original_name": "Circuit 11 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_45ac025e77f416de0113e7ec0514925d_current": { + "device": "nt-0000-panel", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_11_current", + "hidden_by": null, + "original_name": "Circuit 11 Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_45ac025e77f416de0113e7ec0514925d_energy_consumed": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_11_consumed_energy", + "hidden_by": null, + "original_name": "Circuit 11 Consumed Energy", + "platform": "sensor", + "state": "425794.3", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_45ac025e77f416de0113e7ec0514925d_energy_net": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_11_net_energy", + "hidden_by": null, + "original_name": "Circuit 11 Net Energy", + "platform": "sensor", + "state": "425794.3", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_45ac025e77f416de0113e7ec0514925d_energy_produced": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_11_produced_energy", + "hidden_by": null, + "original_name": "Circuit 11 Produced Energy", + "platform": "sensor", + "state": "0.0", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_45ac025e77f416de0113e7ec0514925d_power": { + "device": "nt-0000-panel", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_11_power", + "hidden_by": null, + "original_name": "Circuit 11 Power", + "platform": "sensor", + "state": "4.5", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-0000-panel_76321a44f69235b4702f74baf0d10aea_breaker_rating": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_circuit_4_breaker_rating", + "hidden_by": null, + "original_name": "Circuit 4 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_76321a44f69235b4702f74baf0d10aea_current": { + "device": "nt-0000-panel", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_4_current", + "hidden_by": null, + "original_name": "Circuit 4 Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_76321a44f69235b4702f74baf0d10aea_energy_consumed": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_4_consumed_energy", + "hidden_by": null, + "original_name": "Circuit 4 Consumed Energy", + "platform": "sensor", + "state": "36111.2", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_76321a44f69235b4702f74baf0d10aea_energy_net": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_4_net_energy", + "hidden_by": null, + "original_name": "Circuit 4 Net Energy", + "platform": "sensor", + "state": "35935.1", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_76321a44f69235b4702f74baf0d10aea_energy_produced": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_4_produced_energy", + "hidden_by": null, + "original_name": "Circuit 4 Produced Energy", + "platform": "sensor", + "state": "176.1", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_76321a44f69235b4702f74baf0d10aea_power": { + "device": "nt-0000-panel", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_4_power", + "hidden_by": null, + "original_name": "Circuit 4 Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-0000-panel_88416e5306e0a2d1e528908967f1f9fa_breaker_rating": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_circuit_14_breaker_rating", + "hidden_by": null, + "original_name": "Circuit 14 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_88416e5306e0a2d1e528908967f1f9fa_current": { + "device": "nt-0000-panel", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_14_current", + "hidden_by": null, + "original_name": "Circuit 14 Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_88416e5306e0a2d1e528908967f1f9fa_energy_consumed": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_14_consumed_energy", + "hidden_by": null, + "original_name": "Circuit 14 Consumed Energy", + "platform": "sensor", + "state": "349678.7", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_88416e5306e0a2d1e528908967f1f9fa_energy_net": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_14_net_energy", + "hidden_by": null, + "original_name": "Circuit 14 Net Energy", + "platform": "sensor", + "state": "348973.2", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_88416e5306e0a2d1e528908967f1f9fa_energy_produced": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_14_produced_energy", + "hidden_by": null, + "original_name": "Circuit 14 Produced Energy", + "platform": "sensor", + "state": "705.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_88416e5306e0a2d1e528908967f1f9fa_power": { + "device": "nt-0000-panel", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_14_power", + "hidden_by": null, + "original_name": "Circuit 14 Power", + "platform": "sensor", + "state": "3.4", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-0000-panel_9af59a336ebe2cd5c5ae5ff3d8424821_breaker_rating": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_circuit_3_breaker_rating", + "hidden_by": null, + "original_name": "Circuit 3 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_9af59a336ebe2cd5c5ae5ff3d8424821_current": { + "device": "nt-0000-panel", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_3_current", + "hidden_by": null, + "original_name": "Circuit 3 Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_9af59a336ebe2cd5c5ae5ff3d8424821_energy_consumed": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_3_consumed_energy", + "hidden_by": null, + "original_name": "Circuit 3 Consumed Energy", + "platform": "sensor", + "state": "43396.0", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_9af59a336ebe2cd5c5ae5ff3d8424821_energy_net": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_3_net_energy", + "hidden_by": null, + "original_name": "Circuit 3 Net Energy", + "platform": "sensor", + "state": "43393.2", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_9af59a336ebe2cd5c5ae5ff3d8424821_energy_produced": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_3_produced_energy", + "hidden_by": null, + "original_name": "Circuit 3 Produced Energy", + "platform": "sensor", + "state": "2.8", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_9af59a336ebe2cd5c5ae5ff3d8424821_power": { + "device": "nt-0000-panel", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_3_power", + "hidden_by": null, + "original_name": "Circuit 3 Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-0000-panel_afd57a42ebec7cf6a5083315127698ec_breaker_rating": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_circuit_15_breaker_rating", + "hidden_by": null, + "original_name": "Circuit 15 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_afd57a42ebec7cf6a5083315127698ec_current": { + "device": "nt-0000-panel", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_15_current", + "hidden_by": null, + "original_name": "Circuit 15 Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_afd57a42ebec7cf6a5083315127698ec_energy_consumed": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_15_consumed_energy", + "hidden_by": null, + "original_name": "Circuit 15 Consumed Energy", + "platform": "sensor", + "state": "46113.1", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_afd57a42ebec7cf6a5083315127698ec_energy_net": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_15_net_energy", + "hidden_by": null, + "original_name": "Circuit 15 Net Energy", + "platform": "sensor", + "state": "45767.5", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_afd57a42ebec7cf6a5083315127698ec_energy_produced": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_15_produced_energy", + "hidden_by": null, + "original_name": "Circuit 15 Produced Energy", + "platform": "sensor", + "state": "345.6", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_afd57a42ebec7cf6a5083315127698ec_power": { + "device": "nt-0000-panel", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_15_power", + "hidden_by": null, + "original_name": "Circuit 15 Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-0000-panel_battery_power": { + "device": "nt-0000-panel_bess", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_battery_battery_power", + "hidden_by": null, + "original_name": "Battery Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": "battery_power", + "unit_of_measurement": "W" + }, + "span_nt-0000-panel_bess_communication_state": { + "device": "nt-0000-panel_bess", + "device_class": "enum", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_communication_state", + "hidden_by": null, + "original_name": "Communication State", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "bess_communication_state", + "unit_of_measurement": null + }, + "span_nt-0000-panel_bess_connected": { + "device": "nt-0000-panel_bess", + "device_class": "connectivity", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_battery_bess_connected", + "hidden_by": null, + "original_name": "BESS Connected", + "platform": "binary_sensor", + "state": "unknown", + "state_class": null, + "translation_key": "bess_connected", + "unit_of_measurement": null + }, + "span_nt-0000-panel_bess_firmware_version": { + "device": "nt-0000-panel_bess", + "device_class": null, + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_firmware_version", + "hidden_by": null, + "original_name": "Firmware Version", + "platform": "sensor", + "state": "26.26.4 68c2bc82", + "state_class": null, + "translation_key": "bess_firmware_version", + "unit_of_measurement": null + }, + "span_nt-0000-panel_bess_meter_power": { + "device": "nt-0000-panel_bess", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_battery_meter_power", + "hidden_by": null, + "original_name": "Meter Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": "bess_meter_power", + "unit_of_measurement": "W" + }, + "span_nt-0000-panel_bess_model": { + "device": "nt-0000-panel_bess", + "device_class": null, + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_model", + "hidden_by": null, + "original_name": "Model", + "platform": "sensor", + "state": "Powerwall 2 AC", + "state_class": null, + "translation_key": "bess_model", + "unit_of_measurement": null + }, + "span_nt-0000-panel_bess_nameplate_capacity": { + "device": "nt-0000-panel_bess", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_nameplate_capacity", + "hidden_by": null, + "original_name": "Nameplate Capacity", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "bess_nameplate_capacity", + "unit_of_measurement": "kWh" + }, + "span_nt-0000-panel_bess_part_number": { + "device": "nt-0000-panel_bess", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_part_number", + "hidden_by": null, + "original_name": "Part Number", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "bess_part_number", + "unit_of_measurement": null + }, + "span_nt-0000-panel_bess_serial_number": { + "device": "nt-0000-panel_bess", + "device_class": null, + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_serial_number", + "hidden_by": null, + "original_name": "Serial Number", + "platform": "sensor", + "state": "serial0001", + "state_class": null, + "translation_key": "bess_serial_number", + "unit_of_measurement": null + }, + "span_nt-0000-panel_bess_soe_kwh": { + "device": "nt-0000-panel_bess", + "device_class": "energy_storage", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_state_of_energy", + "hidden_by": null, + "original_name": "State of Energy", + "platform": "sensor", + "state": "81.0", + "state_class": "measurement", + "translation_key": "bess_soe_kwh", + "unit_of_measurement": "kWh" + }, + "span_nt-0000-panel_bess_vendor": { + "device": "nt-0000-panel_bess", + "device_class": null, + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_vendor", + "hidden_by": null, + "original_name": "Vendor", + "platform": "sensor", + "state": "Tesla", + "state_class": null, + "translation_key": "bess_vendor", + "unit_of_measurement": null + }, + "span_nt-0000-panel_current_power": { + "device": "nt-0000-panel", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_current_power", + "hidden_by": null, + "original_name": "Current Power", + "platform": "sensor", + "state": "2490.9", + "state_class": "measurement", + "translation_key": "instant_grid_power", + "unit_of_measurement": "W" + }, + "span_nt-0000-panel_current_run_config": { + "device": "nt-0000-panel", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_current_run_config", + "hidden_by": null, + "original_name": "Current Run Config", + "platform": "sensor", + "state": "panel_on_grid", + "state_class": null, + "translation_key": "current_run_config", + "unit_of_measurement": null + }, + "span_nt-0000-panel_d1cad9b5b2be373605cc179c30a74dc3_breaker_rating": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_circuit_7_breaker_rating", + "hidden_by": null, + "original_name": "Circuit 7 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_d1cad9b5b2be373605cc179c30a74dc3_current": { + "device": "nt-0000-panel", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_7_current", + "hidden_by": null, + "original_name": "Circuit 7 Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_d1cad9b5b2be373605cc179c30a74dc3_energy_consumed": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_7_consumed_energy", + "hidden_by": null, + "original_name": "Circuit 7 Consumed Energy", + "platform": "sensor", + "state": "178558.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_d1cad9b5b2be373605cc179c30a74dc3_energy_net": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_7_net_energy", + "hidden_by": null, + "original_name": "Circuit 7 Net Energy", + "platform": "sensor", + "state": "178492.4", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_d1cad9b5b2be373605cc179c30a74dc3_energy_produced": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_7_produced_energy", + "hidden_by": null, + "original_name": "Circuit 7 Produced Energy", + "platform": "sensor", + "state": "66.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_d1cad9b5b2be373605cc179c30a74dc3_power": { + "device": "nt-0000-panel", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_7_power", + "hidden_by": null, + "original_name": "Circuit 7 Power", + "platform": "sensor", + "state": "9.2", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-0000-panel_doorState": { + "device": "nt-0000-panel", + "device_class": "tamper", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_door_state", + "hidden_by": null, + "original_name": "Door State", + "platform": "binary_sensor", + "state": "unknown", + "state_class": null, + "translation_key": "door_state", + "unit_of_measurement": null + }, + "span_nt-0000-panel_downstream_l1_current": { + "device": "nt-0000-panel", + "device_class": "current", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_downstream_l1_current", + "hidden_by": null, + "original_name": "Downstream L1 Current", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "downstream_l1_current", + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_downstream_l2_current": { + "device": "nt-0000-panel", + "device_class": "current", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_downstream_l2_current", + "hidden_by": null, + "original_name": "Downstream L2 Current", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "downstream_l2_current", + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_dsm_grid_state": { + "device": "nt-0000-panel", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_dsm_grid_state", + "hidden_by": null, + "original_name": "DSM Grid State", + "platform": "sensor", + "state": "dsm_on_grid", + "state_class": null, + "translation_key": "dsm_grid_state", + "unit_of_measurement": null + }, + "span_nt-0000-panel_dsm_state": { + "device": "nt-0000-panel", + "device_class": "enum", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_dsm_state", + "hidden_by": null, + "original_name": "DSM State", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "dsm_state", + "unit_of_measurement": null + }, + "span_nt-0000-panel_e437d9b59344dd03bc2775fb238a5692_breaker_rating": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_circuit_13_breaker_rating", + "hidden_by": null, + "original_name": "Circuit 13 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_e437d9b59344dd03bc2775fb238a5692_current": { + "device": "nt-0000-panel", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_13_current", + "hidden_by": null, + "original_name": "Circuit 13 Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_e437d9b59344dd03bc2775fb238a5692_energy_consumed": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_13_consumed_energy", + "hidden_by": null, + "original_name": "Circuit 13 Consumed Energy", + "platform": "sensor", + "state": "62960.0", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_e437d9b59344dd03bc2775fb238a5692_energy_net": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_13_net_energy", + "hidden_by": null, + "original_name": "Circuit 13 Net Energy", + "platform": "sensor", + "state": "34523.9", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_e437d9b59344dd03bc2775fb238a5692_energy_produced": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_13_produced_energy", + "hidden_by": null, + "original_name": "Circuit 13 Produced Energy", + "platform": "sensor", + "state": "28436.1", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_e437d9b59344dd03bc2775fb238a5692_power": { + "device": "nt-0000-panel", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_13_power", + "hidden_by": null, + "original_name": "Circuit 13 Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-0000-panel_e4f6668d42f85d5a0f3300c2a6747290_breaker_rating": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_circuit_17_breaker_rating", + "hidden_by": null, + "original_name": "Circuit 17 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_e4f6668d42f85d5a0f3300c2a6747290_current": { + "device": "nt-0000-panel", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_17_current", + "hidden_by": null, + "original_name": "Circuit 17 Current", + "platform": "sensor", + "state": "3.6", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_e4f6668d42f85d5a0f3300c2a6747290_energy_consumed": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_17_consumed_energy", + "hidden_by": null, + "original_name": "Circuit 17 Consumed Energy", + "platform": "sensor", + "state": "5762848.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_e4f6668d42f85d5a0f3300c2a6747290_energy_net": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_17_net_energy", + "hidden_by": null, + "original_name": "Circuit 17 Net Energy", + "platform": "sensor", + "state": "5762528.0", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_e4f6668d42f85d5a0f3300c2a6747290_energy_produced": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_17_produced_energy", + "hidden_by": null, + "original_name": "Circuit 17 Produced Energy", + "platform": "sensor", + "state": "320.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_e4f6668d42f85d5a0f3300c2a6747290_power": { + "device": "nt-0000-panel", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_17_power", + "hidden_by": null, + "original_name": "Circuit 17 Power", + "platform": "sensor", + "state": "320.3", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-0000-panel_eth0Link": { + "device": "nt-0000-panel", + "device_class": "connectivity", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_ethernet_link", + "hidden_by": null, + "original_name": "Ethernet Link", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "ethernet_link", + "unit_of_measurement": null + }, + "span_nt-0000-panel_f45b824f00dc3829dd2ed6609d6cf17b_breaker_rating": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_circuit_16_breaker_rating", + "hidden_by": null, + "original_name": "Circuit 16 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_f45b824f00dc3829dd2ed6609d6cf17b_current": { + "device": "nt-0000-panel", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_16_current", + "hidden_by": null, + "original_name": "Circuit 16 Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_f45b824f00dc3829dd2ed6609d6cf17b_energy_consumed": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_16_consumed_energy", + "hidden_by": null, + "original_name": "Circuit 16 Consumed Energy", + "platform": "sensor", + "state": "51753.1", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_f45b824f00dc3829dd2ed6609d6cf17b_energy_net": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_16_net_energy", + "hidden_by": null, + "original_name": "Circuit 16 Net Energy", + "platform": "sensor", + "state": "51551.7", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_f45b824f00dc3829dd2ed6609d6cf17b_energy_produced": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_16_produced_energy", + "hidden_by": null, + "original_name": "Circuit 16 Produced Energy", + "platform": "sensor", + "state": "201.4", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_f45b824f00dc3829dd2ed6609d6cf17b_power": { + "device": "nt-0000-panel", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_16_power", + "hidden_by": null, + "original_name": "Circuit 16 Power", + "platform": "sensor", + "state": "3.4", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-0000-panel_fbaae45daa7c145806eb9c5692fec660_breaker_rating": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_circuit_8_breaker_rating", + "hidden_by": null, + "original_name": "Circuit 8 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_fbaae45daa7c145806eb9c5692fec660_current": { + "device": "nt-0000-panel", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_8_current", + "hidden_by": null, + "original_name": "Circuit 8 Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_fbaae45daa7c145806eb9c5692fec660_energy_consumed": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_8_consumed_energy", + "hidden_by": null, + "original_name": "Circuit 8 Consumed Energy", + "platform": "sensor", + "state": "26593.6", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_fbaae45daa7c145806eb9c5692fec660_energy_net": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_8_net_energy", + "hidden_by": null, + "original_name": "Circuit 8 Net Energy", + "platform": "sensor", + "state": "25974.2", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_fbaae45daa7c145806eb9c5692fec660_energy_produced": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_8_produced_energy", + "hidden_by": null, + "original_name": "Circuit 8 Produced Energy", + "platform": "sensor", + "state": "619.4", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_fbaae45daa7c145806eb9c5692fec660_power": { + "device": "nt-0000-panel", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_circuit_8_power", + "hidden_by": null, + "original_name": "Circuit 8 Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-0000-panel_feed_through_consumed_energy": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_feed_through_consumed_energy", + "hidden_by": null, + "original_name": "Feed Through Consumed Energy", + "platform": "sensor", + "state": null, + "state_class": "total", + "translation_key": "feedthrough_consumed_energy", + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_feed_through_net_energy": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_feed_through_net_energy", + "hidden_by": null, + "original_name": "Feed Through Net Energy", + "platform": "sensor", + "state": null, + "state_class": "total", + "translation_key": "feedthrough_net_energy", + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_feed_through_power": { + "device": "nt-0000-panel", + "device_class": "power", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_feed_through_power", + "hidden_by": null, + "original_name": "Feed Through Power", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "feedthrough_power", + "unit_of_measurement": "W" + }, + "span_nt-0000-panel_feed_through_produced_energy": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_feed_through_produced_energy", + "hidden_by": null, + "original_name": "Feed Through Produced Energy", + "platform": "sensor", + "state": null, + "state_class": "total", + "translation_key": "feedthrough_produced_energy", + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_gfe_override": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "button.span_panel_gfe_override_grid_connected", + "hidden_by": null, + "original_name": "GFE Override: Grid Connected", + "platform": "button", + "state": "unavailable", + "state_class": null, + "translation_key": "gfe_override", + "unit_of_measurement": null + }, + "span_nt-0000-panel_grid_forming_entity": { + "device": "nt-0000-panel", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_grid_forming_entity", + "hidden_by": null, + "original_name": "Grid Forming Entity", + "platform": "sensor", + "state": "grid", + "state_class": null, + "translation_key": "grid_forming_entity", + "unit_of_measurement": null + }, + "span_nt-0000-panel_grid_islandable": { + "device": "nt-0000-panel", + "device_class": "power", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_grid_islandable", + "hidden_by": null, + "original_name": "Grid Islandable", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "grid_islandable", + "unit_of_measurement": null + }, + "span_nt-0000-panel_grid_power_flow": { + "device": "nt-0000-panel", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_grid_power", + "hidden_by": null, + "original_name": "Grid Power", + "platform": "sensor", + "state": "2655.0", + "state_class": "measurement", + "translation_key": "grid_power_flow", + "unit_of_measurement": "W" + }, + "span_nt-0000-panel_l1_voltage": { + "device": "nt-0000-panel", + "device_class": "voltage", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_l1_voltage", + "hidden_by": null, + "original_name": "L1 Voltage", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "l1_voltage", + "unit_of_measurement": "V" + }, + "span_nt-0000-panel_l2_voltage": { + "device": "nt-0000-panel", + "device_class": "voltage", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_l2_voltage", + "hidden_by": null, + "original_name": "L2 Voltage", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "l2_voltage", + "unit_of_measurement": "V" + }, + "span_nt-0000-panel_main_breaker_rating": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_main_breaker_rating", + "hidden_by": null, + "original_name": "Main Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "main_breaker_rating", + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_main_meter_consumed_energy": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_main_meter_consumed_energy", + "hidden_by": null, + "original_name": "Main Meter Consumed Energy", + "platform": "sensor", + "state": "35223342.5", + "state_class": "total_increasing", + "translation_key": "main_meter_consumed_energy", + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_main_meter_net_energy": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_main_meter_net_energy", + "hidden_by": null, + "original_name": "Main Meter Net Energy", + "platform": "sensor", + "state": null, + "state_class": "total", + "translation_key": "main_meter_net_energy", + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_main_meter_produced_energy": { + "device": "nt-0000-panel", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_main_meter_produced_energy", + "hidden_by": null, + "original_name": "Main Meter Produced Energy", + "platform": "sensor", + "state": "3.3", + "state_class": "total_increasing", + "translation_key": "main_meter_produced_energy", + "unit_of_measurement": "Wh" + }, + "span_nt-0000-panel_main_relay_state": { + "device": "nt-0000-panel", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_main_relay_state", + "hidden_by": null, + "original_name": "Main Relay State", + "platform": "sensor", + "state": "closed", + "state_class": null, + "translation_key": "main_relay_state", + "unit_of_measurement": null + }, + "span_nt-0000-panel_mid_mid_grid_state": { + "device": "nt-0000-panel_mid", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_microgrid_interconnect_grid_state", + "hidden_by": null, + "original_name": "Grid State", + "platform": "sensor", + "state": "unknown", + "state_class": null, + "translation_key": "mid_grid_state", + "unit_of_measurement": null + }, + "span_nt-0000-panel_panel_status": { + "device": "nt-0000-panel", + "device_class": "connectivity", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_panel_status", + "hidden_by": null, + "original_name": "Panel Status", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "panel_status", + "unit_of_measurement": null + }, + "span_nt-0000-panel_pcs_active": { + "device": "nt-0000-panel", + "device_class": "running", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_pcs_active", + "hidden_by": null, + "original_name": "PCS Active", + "platform": "binary_sensor", + "state": "off", + "state_class": null, + "translation_key": "pcs_active", + "unit_of_measurement": null + }, + "span_nt-0000-panel_pcs_binding_constraint": { + "device": "nt-0000-panel", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_binding_constraint", + "hidden_by": null, + "original_name": "Binding Constraint", + "platform": "sensor", + "state": "fsr", + "state_class": null, + "translation_key": "pcs_binding_constraint", + "unit_of_measurement": null + }, + "span_nt-0000-panel_pcs_import_limit": { + "device": "nt-0000-panel", + "device_class": "current", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_import_limit", + "hidden_by": null, + "original_name": "Import Limit", + "platform": "sensor", + "state": "160.0", + "state_class": "measurement", + "translation_key": "pcs_import_limit", + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_pv_nameplate_capacity": { + "device": "nt-0000-panel_pv", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_solar_pv_nameplate_capacity", + "hidden_by": null, + "original_name": "PV Nameplate Capacity", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "pv_nameplate_capacity", + "unit_of_measurement": "W" + }, + "span_nt-0000-panel_pv_power": { + "device": "nt-0000-panel_pv", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_solar_pv_power", + "hidden_by": null, + "original_name": "PV Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": "pv_power", + "unit_of_measurement": "W" + }, + "span_nt-0000-panel_pv_product": { + "device": "nt-0000-panel_pv", + "device_class": null, + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_solar_pv_product", + "hidden_by": null, + "original_name": "PV Product", + "platform": "sensor", + "state": "IQ7PLUS-72-x-ACM-US-y", + "state_class": null, + "translation_key": "pv_product", + "unit_of_measurement": null + }, + "span_nt-0000-panel_pv_vendor": { + "device": "nt-0000-panel_pv", + "device_class": null, + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_solar_pv_vendor", + "hidden_by": null, + "original_name": "PV Vendor", + "platform": "sensor", + "state": "Enphase Energy", + "state_class": null, + "translation_key": "pv_vendor", + "unit_of_measurement": null + }, + "span_nt-0000-panel_relay_15adf6fa36ada1dba2184e9bcaa7fa44": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_circuit_12_breaker", + "hidden_by": null, + "original_name": "Circuit 12 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-0000-panel_relay_1ac7fbc901ecb9d0c785dd3234b21a3c": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_circuit_10_breaker", + "hidden_by": null, + "original_name": "Circuit 10 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-0000-panel_relay_1bc992eaeb96482b1d019edecfcc18c2": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_circuit_5_breaker", + "hidden_by": null, + "original_name": "Circuit 5 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-0000-panel_relay_26ae0676844ed69346cccae68c2d516a": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_circuit_19_breaker", + "hidden_by": null, + "original_name": "Circuit 19 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-0000-panel_relay_2835afc8a591cc382c4972a3538b824f": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_circuit_6_breaker", + "hidden_by": null, + "original_name": "Circuit 6 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-0000-panel_relay_2e591e0d0cdc0e8bdbfdccbfc86d14ca": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_circuit_18_breaker", + "hidden_by": null, + "original_name": "Circuit 18 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-0000-panel_relay_367c30fcffa7ac59fe428d7c426bd19d": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_circuit_1_breaker", + "hidden_by": null, + "original_name": "Circuit 1 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-0000-panel_relay_36afaccafd19b2bfbcb6fcb5d6089399": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_circuit_2_breaker", + "hidden_by": null, + "original_name": "Circuit 2 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-0000-panel_relay_420ee28ea3d7362dad8d341cc93e50b3": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_circuit_9_breaker", + "hidden_by": null, + "original_name": "Circuit 9 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-0000-panel_relay_45ac025e77f416de0113e7ec0514925d": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_circuit_11_breaker", + "hidden_by": null, + "original_name": "Circuit 11 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-0000-panel_relay_76321a44f69235b4702f74baf0d10aea": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_circuit_4_breaker", + "hidden_by": null, + "original_name": "Circuit 4 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-0000-panel_relay_88416e5306e0a2d1e528908967f1f9fa": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_circuit_14_breaker", + "hidden_by": null, + "original_name": "Circuit 14 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-0000-panel_relay_9af59a336ebe2cd5c5ae5ff3d8424821": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_circuit_3_breaker", + "hidden_by": null, + "original_name": "Circuit 3 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-0000-panel_relay_afd57a42ebec7cf6a5083315127698ec": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_circuit_15_breaker", + "hidden_by": null, + "original_name": "Circuit 15 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-0000-panel_relay_d1cad9b5b2be373605cc179c30a74dc3": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_circuit_7_breaker", + "hidden_by": null, + "original_name": "Circuit 7 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-0000-panel_relay_e437d9b59344dd03bc2775fb238a5692": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_circuit_13_breaker", + "hidden_by": null, + "original_name": "Circuit 13 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-0000-panel_relay_e4f6668d42f85d5a0f3300c2a6747290": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_circuit_17_breaker", + "hidden_by": null, + "original_name": "Circuit 17 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-0000-panel_relay_f45b824f00dc3829dd2ed6609d6cf17b": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_circuit_16_breaker", + "hidden_by": null, + "original_name": "Circuit 16 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-0000-panel_relay_fbaae45daa7c145806eb9c5692fec660": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_circuit_8_breaker", + "hidden_by": null, + "original_name": "Circuit 8 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-0000-panel_select_15adf6fa36ada1dba2184e9bcaa7fa44": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_circuit_12_circuit_priority", + "hidden_by": null, + "original_name": "Circuit 12 Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-0000-panel_select_1ac7fbc901ecb9d0c785dd3234b21a3c": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_circuit_10_circuit_priority", + "hidden_by": null, + "original_name": "Circuit 10 Circuit Priority", + "platform": "select", + "state": "soc_threshold", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-0000-panel_select_1bc992eaeb96482b1d019edecfcc18c2": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_circuit_5_circuit_priority", + "hidden_by": null, + "original_name": "Circuit 5 Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-0000-panel_select_26ae0676844ed69346cccae68c2d516a": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_circuit_19_circuit_priority", + "hidden_by": null, + "original_name": "Circuit 19 Circuit Priority", + "platform": "select", + "state": "soc_threshold", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-0000-panel_select_2835afc8a591cc382c4972a3538b824f": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_circuit_6_circuit_priority", + "hidden_by": null, + "original_name": "Circuit 6 Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-0000-panel_select_2e591e0d0cdc0e8bdbfdccbfc86d14ca": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_circuit_18_circuit_priority", + "hidden_by": null, + "original_name": "Circuit 18 Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-0000-panel_select_367c30fcffa7ac59fe428d7c426bd19d": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_circuit_1_circuit_priority", + "hidden_by": null, + "original_name": "Circuit 1 Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-0000-panel_select_36afaccafd19b2bfbcb6fcb5d6089399": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_circuit_2_circuit_priority", + "hidden_by": null, + "original_name": "Circuit 2 Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-0000-panel_select_420ee28ea3d7362dad8d341cc93e50b3": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_circuit_9_circuit_priority", + "hidden_by": null, + "original_name": "Circuit 9 Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-0000-panel_select_45ac025e77f416de0113e7ec0514925d": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_circuit_11_circuit_priority", + "hidden_by": null, + "original_name": "Circuit 11 Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-0000-panel_select_76321a44f69235b4702f74baf0d10aea": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_circuit_4_circuit_priority", + "hidden_by": null, + "original_name": "Circuit 4 Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-0000-panel_select_88416e5306e0a2d1e528908967f1f9fa": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_circuit_14_circuit_priority", + "hidden_by": null, + "original_name": "Circuit 14 Circuit Priority", + "platform": "select", + "state": "soc_threshold", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-0000-panel_select_9af59a336ebe2cd5c5ae5ff3d8424821": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_circuit_3_circuit_priority", + "hidden_by": null, + "original_name": "Circuit 3 Circuit Priority", + "platform": "select", + "state": "off_grid", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-0000-panel_select_afd57a42ebec7cf6a5083315127698ec": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_circuit_15_circuit_priority", + "hidden_by": null, + "original_name": "Circuit 15 Circuit Priority", + "platform": "select", + "state": "soc_threshold", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-0000-panel_select_d1cad9b5b2be373605cc179c30a74dc3": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_circuit_7_circuit_priority", + "hidden_by": null, + "original_name": "Circuit 7 Circuit Priority", + "platform": "select", + "state": "off_grid", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-0000-panel_select_e437d9b59344dd03bc2775fb238a5692": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_circuit_13_circuit_priority", + "hidden_by": null, + "original_name": "Circuit 13 Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-0000-panel_select_e4f6668d42f85d5a0f3300c2a6747290": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_circuit_17_circuit_priority", + "hidden_by": null, + "original_name": "Circuit 17 Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-0000-panel_select_f45b824f00dc3829dd2ed6609d6cf17b": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_circuit_16_circuit_priority", + "hidden_by": null, + "original_name": "Circuit 16 Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-0000-panel_select_fbaae45daa7c145806eb9c5692fec660": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_circuit_8_circuit_priority", + "hidden_by": null, + "original_name": "Circuit 8 Circuit Priority", + "platform": "select", + "state": "soc_threshold", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-0000-panel_shed_total_time_remaining": { + "device": "nt-0000-panel", + "device_class": "duration", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_backup_time_remaining", + "hidden_by": null, + "original_name": "Backup Time Remaining", + "platform": "sensor", + "state": "4320.0", + "state_class": "measurement", + "translation_key": "shed_total_time_remaining", + "unit_of_measurement": "min" + }, + "span_nt-0000-panel_site_power": { + "device": "nt-0000-panel", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_site_power", + "hidden_by": null, + "original_name": "Site Power", + "platform": "sensor", + "state": "2655.0", + "state_class": "measurement", + "translation_key": "site_power", + "unit_of_measurement": "W" + }, + "span_nt-0000-panel_software_version": { + "device": "nt-0000-panel", + "device_class": null, + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_software_version", + "hidden_by": null, + "original_name": "Software Version", + "platform": "sensor", + "state": "spanos3/r202633/02", + "state_class": null, + "translation_key": "software_version", + "unit_of_measurement": null + }, + "span_nt-0000-panel_storage_battery_percentage": { + "device": "nt-0000-panel_bess", + "device_class": "battery", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_battery_battery_level", + "hidden_by": null, + "original_name": "Battery Level", + "platform": "sensor", + "state": "100.0", + "state_class": "measurement", + "translation_key": "battery_level", + "unit_of_measurement": "%" + }, + "span_nt-0000-panel_time_to_priority_shed": { + "device": "nt-0000-panel", + "device_class": "duration", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_time_to_priority_shed", + "hidden_by": null, + "original_name": "Time to Priority Shed", + "platform": "sensor", + "state": "3037.0", + "state_class": "measurement", + "translation_key": "time_to_priority_shed", + "unit_of_measurement": "min" + }, + "span_nt-0000-panel_upstream_l1_current": { + "device": "nt-0000-panel", + "device_class": "current", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_upstream_l1_current", + "hidden_by": null, + "original_name": "Upstream L1 Current", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "upstream_l1_current", + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_upstream_l2_current": { + "device": "nt-0000-panel", + "device_class": "current", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_upstream_l2_current", + "hidden_by": null, + "original_name": "Upstream L2 Current", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "upstream_l2_current", + "unit_of_measurement": "A" + }, + "span_nt-0000-panel_vendor_cloud": { + "device": "nt-0000-panel", + "device_class": "enum", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_vendor_cloud", + "hidden_by": null, + "original_name": "Vendor Cloud", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "vendor_cloud", + "unit_of_measurement": null + }, + "span_nt-0000-panel_wlanLink": { + "device": "nt-0000-panel", + "device_class": "connectivity", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_wi_fi_link", + "hidden_by": null, + "original_name": "Wi-Fi Link", + "platform": "binary_sensor", + "state": "off", + "state_class": null, + "translation_key": "wifi_link", + "unit_of_measurement": null + } + } +} diff --git a/tests/fixtures/expected_entities/main32_r202639.json b/tests/fixtures/expected_entities/main32_r202639.json new file mode 100644 index 0000000..968ca44 --- /dev/null +++ b/tests/fixtures/expected_entities/main32_r202639.json @@ -0,0 +1,2534 @@ +{ + "devices": { + "nt-9874-s7rxt": { + "hw_version": "1.2", + "manufacturer": "SPAN", + "model": "MAIN_32", + "name": "Span Panel", + "serial_number": null, + "sw_version": "spanos3/r202639/03", + "via_device": null + }, + "nt-9874-s7rxt_bess": { + "hw_version": null, + "manufacturer": "Tesla", + "model": "Powerwall 2 AC", + "name": "Span Panel Battery", + "serial_number": "tg681049356k0x", + "sw_version": "26.26.4 68c2bc82", + "via_device": "nt-9874-s7rxt" + }, + "nt-9874-s7rxt_mid": { + "hw_version": null, + "manufacturer": "Tesla", + "model": "Microgrid Interconnect Device", + "name": "Span Panel Microgrid Interconnect", + "serial_number": "tg957432104u3d-djc", + "sw_version": null, + "via_device": "nt-9874-s7rxt" + }, + "nt-9874-s7rxt_pv": { + "hw_version": null, + "manufacturer": "Enphase Energy", + "model": "IQ7PLUS-72-x-US-&", + "name": "Span Panel Solar", + "serial_number": null, + "sw_version": null, + "via_device": "nt-9874-s7rxt" + } + }, + "entities": { + "span_nt-9874-s7rxt_266eb903e50116147fb212879e812cd7_breaker_rating": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_attic_back_outlet_breaker_rating", + "hidden_by": null, + "original_name": "Attic-Back-Outlet Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_266eb903e50116147fb212879e812cd7_current": { + "device": "nt-9874-s7rxt", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_attic_back_outlet_current", + "hidden_by": null, + "original_name": "Attic-Back-Outlet Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_266eb903e50116147fb212879e812cd7_energy_consumed": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_attic_back_outlet_consumed_energy", + "hidden_by": null, + "original_name": "Attic-Back-Outlet Consumed Energy", + "platform": "sensor", + "state": "686928.8", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_266eb903e50116147fb212879e812cd7_energy_net": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_attic_back_outlet_net_energy", + "hidden_by": null, + "original_name": "Attic-Back-Outlet Net Energy", + "platform": "sensor", + "state": "653014.7", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_266eb903e50116147fb212879e812cd7_energy_produced": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_attic_back_outlet_produced_energy", + "hidden_by": null, + "original_name": "Attic-Back-Outlet Produced Energy", + "platform": "sensor", + "state": "33914.1", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_266eb903e50116147fb212879e812cd7_power": { + "device": "nt-9874-s7rxt", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_attic_back_outlet_power", + "hidden_by": null, + "original_name": "Attic-Back-Outlet Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-9874-s7rxt_31f1d56b0926276e04c84360b1a31a6c_breaker_rating": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_hvac_air_handler_breaker_rating", + "hidden_by": null, + "original_name": "HVAC-Air-Handler Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_31f1d56b0926276e04c84360b1a31a6c_current": { + "device": "nt-9874-s7rxt", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_hvac_air_handler_current", + "hidden_by": null, + "original_name": "HVAC-Air-Handler Current", + "platform": "sensor", + "state": "0.4", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_31f1d56b0926276e04c84360b1a31a6c_energy_consumed": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_hvac_air_handler_consumed_energy", + "hidden_by": null, + "original_name": "HVAC-Air-Handler Consumed Energy", + "platform": "sensor", + "state": "1139553.7", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_31f1d56b0926276e04c84360b1a31a6c_energy_net": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_hvac_air_handler_net_energy", + "hidden_by": null, + "original_name": "HVAC-Air-Handler Net Energy", + "platform": "sensor", + "state": "1137501.1", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_31f1d56b0926276e04c84360b1a31a6c_energy_produced": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_hvac_air_handler_produced_energy", + "hidden_by": null, + "original_name": "HVAC-Air-Handler Produced Energy", + "platform": "sensor", + "state": "2052.6", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_31f1d56b0926276e04c84360b1a31a6c_power": { + "device": "nt-9874-s7rxt", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_hvac_air_handler_power", + "hidden_by": null, + "original_name": "HVAC-Air-Handler Power", + "platform": "sensor", + "state": "67.9", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-9874-s7rxt_390351d21af25d6409aba2b210928f7f_breaker_rating": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_clothes_dryer_breaker_rating", + "hidden_by": null, + "original_name": "Clothes-Dryer Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_390351d21af25d6409aba2b210928f7f_current": { + "device": "nt-9874-s7rxt", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_clothes_dryer_current", + "hidden_by": null, + "original_name": "Clothes-Dryer Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_390351d21af25d6409aba2b210928f7f_energy_consumed": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_clothes_dryer_consumed_energy", + "hidden_by": null, + "original_name": "Clothes-Dryer Consumed Energy", + "platform": "sensor", + "state": "855286.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_390351d21af25d6409aba2b210928f7f_energy_net": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_clothes_dryer_net_energy", + "hidden_by": null, + "original_name": "Clothes-Dryer Net Energy", + "platform": "sensor", + "state": "851903.9", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_390351d21af25d6409aba2b210928f7f_energy_produced": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_clothes_dryer_produced_energy", + "hidden_by": null, + "original_name": "Clothes-Dryer Produced Energy", + "platform": "sensor", + "state": "3382.6", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_390351d21af25d6409aba2b210928f7f_power": { + "device": "nt-9874-s7rxt", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_clothes_dryer_power", + "hidden_by": null, + "original_name": "Clothes-Dryer Power", + "platform": "sensor", + "state": "4.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-9874-s7rxt_48c572b0051eaddaf85e1c26ef0f52be_breaker_rating": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_espresso_machine_breaker_rating", + "hidden_by": null, + "original_name": "Espresso-Machine Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_48c572b0051eaddaf85e1c26ef0f52be_current": { + "device": "nt-9874-s7rxt", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_espresso_machine_current", + "hidden_by": null, + "original_name": "Espresso-Machine Current", + "platform": "sensor", + "state": "0.2", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_48c572b0051eaddaf85e1c26ef0f52be_energy_consumed": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_espresso_machine_consumed_energy", + "hidden_by": null, + "original_name": "Espresso-Machine Consumed Energy", + "platform": "sensor", + "state": "1555161.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_48c572b0051eaddaf85e1c26ef0f52be_energy_net": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_espresso_machine_net_energy", + "hidden_by": null, + "original_name": "Espresso-Machine Net Energy", + "platform": "sensor", + "state": "1553093.1", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_48c572b0051eaddaf85e1c26ef0f52be_energy_produced": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_espresso_machine_produced_energy", + "hidden_by": null, + "original_name": "Espresso-Machine Produced Energy", + "platform": "sensor", + "state": "2068.8", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_48c572b0051eaddaf85e1c26ef0f52be_power": { + "device": "nt-9874-s7rxt", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_espresso_machine_power", + "hidden_by": null, + "original_name": "Espresso-Machine Power", + "platform": "sensor", + "state": "3.8", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-9874-s7rxt_56def60d3bbd177fc8856cca8713c05a_breaker_rating": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_shed_240vac_outlet_breaker_rating", + "hidden_by": null, + "original_name": "Shed-240VAC-Outlet Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_56def60d3bbd177fc8856cca8713c05a_current": { + "device": "nt-9874-s7rxt", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_shed_240vac_outlet_current", + "hidden_by": null, + "original_name": "Shed-240VAC-Outlet Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_56def60d3bbd177fc8856cca8713c05a_energy_consumed": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_shed_240vac_outlet_consumed_energy", + "hidden_by": null, + "original_name": "Shed-240VAC-Outlet Consumed Energy", + "platform": "sensor", + "state": "18919.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_56def60d3bbd177fc8856cca8713c05a_energy_net": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_shed_240vac_outlet_net_energy", + "hidden_by": null, + "original_name": "Shed-240VAC-Outlet Net Energy", + "platform": "sensor", + "state": "14839.1", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_56def60d3bbd177fc8856cca8713c05a_energy_produced": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_shed_240vac_outlet_produced_energy", + "hidden_by": null, + "original_name": "Shed-240VAC-Outlet Produced Energy", + "platform": "sensor", + "state": "4080.8", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_56def60d3bbd177fc8856cca8713c05a_power": { + "device": "nt-9874-s7rxt", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_shed_240vac_outlet_power", + "hidden_by": null, + "original_name": "Shed-240VAC-Outlet Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-9874-s7rxt_704b457f76e9451eb44fbc8287e67f9f_breaker_rating": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_future_240vac_1_breaker_rating", + "hidden_by": null, + "original_name": "Future-240VAC-1 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_704b457f76e9451eb44fbc8287e67f9f_current": { + "device": "nt-9874-s7rxt", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_future_240vac_1_current", + "hidden_by": null, + "original_name": "Future-240VAC-1 Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_704b457f76e9451eb44fbc8287e67f9f_energy_consumed": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_future_240vac_1_consumed_energy", + "hidden_by": null, + "original_name": "Future-240VAC-1 Consumed Energy", + "platform": "sensor", + "state": "175305.8", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_704b457f76e9451eb44fbc8287e67f9f_energy_net": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_future_240vac_1_net_energy", + "hidden_by": null, + "original_name": "Future-240VAC-1 Net Energy", + "platform": "sensor", + "state": "123455.1", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_704b457f76e9451eb44fbc8287e67f9f_energy_produced": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_future_240vac_1_produced_energy", + "hidden_by": null, + "original_name": "Future-240VAC-1 Produced Energy", + "platform": "sensor", + "state": "51850.7", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_704b457f76e9451eb44fbc8287e67f9f_power": { + "device": "nt-9874-s7rxt", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_future_240vac_1_power", + "hidden_by": null, + "original_name": "Future-240VAC-1 Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-9874-s7rxt_8a562bd10fb843842670080af2bbb983_current": { + "device": "nt-9874-s7rxt", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_commissioned_pv_system_current", + "hidden_by": null, + "original_name": "Commissioned PV System Current", + "platform": "sensor", + "state": "6.5", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_8a562bd10fb843842670080af2bbb983_energy_consumed": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_commissioned_pv_system_consumed_energy", + "hidden_by": null, + "original_name": "Commissioned PV System Consumed Energy", + "platform": "sensor", + "state": "45779.2", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_8a562bd10fb843842670080af2bbb983_energy_net": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_commissioned_pv_system_net_energy", + "hidden_by": null, + "original_name": "Commissioned PV System Net Energy", + "platform": "sensor", + "state": "17423032.8", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_8a562bd10fb843842670080af2bbb983_energy_produced": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_commissioned_pv_system_produced_energy", + "hidden_by": null, + "original_name": "Commissioned PV System Produced Energy", + "platform": "sensor", + "state": "17468812.0", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_8a562bd10fb843842670080af2bbb983_power": { + "device": "nt-9874-s7rxt", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_commissioned_pv_system_power", + "hidden_by": null, + "original_name": "Commissioned PV System Power", + "platform": "sensor", + "state": "1565.7", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-9874-s7rxt_9498a44c930374d2ea1e9508c3def44e_breaker_rating": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_cooktop_stove_breaker_rating", + "hidden_by": null, + "original_name": "Cooktop/Stove Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_9498a44c930374d2ea1e9508c3def44e_current": { + "device": "nt-9874-s7rxt", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_cooktop_stove_current", + "hidden_by": null, + "original_name": "Cooktop/Stove Current", + "platform": "sensor", + "state": "1.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_9498a44c930374d2ea1e9508c3def44e_energy_consumed": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_cooktop_stove_consumed_energy", + "hidden_by": null, + "original_name": "Cooktop/Stove Consumed Energy", + "platform": "sensor", + "state": "411437.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_9498a44c930374d2ea1e9508c3def44e_energy_net": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_cooktop_stove_net_energy", + "hidden_by": null, + "original_name": "Cooktop/Stove Net Energy", + "platform": "sensor", + "state": "404310.4", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_9498a44c930374d2ea1e9508c3def44e_energy_produced": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_cooktop_stove_produced_energy", + "hidden_by": null, + "original_name": "Cooktop/Stove Produced Energy", + "platform": "sensor", + "state": "7127.1", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_9498a44c930374d2ea1e9508c3def44e_power": { + "device": "nt-9874-s7rxt", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_cooktop_stove_power", + "hidden_by": null, + "original_name": "Cooktop/Stove Power", + "platform": "sensor", + "state": "6.6", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-9874-s7rxt_a6f39ecc6a8bf3453b9487dba9581b2c_breaker_rating": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_hvac_heat_pump_breaker_rating", + "hidden_by": null, + "original_name": "HVAC-Heat-Pump Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_a6f39ecc6a8bf3453b9487dba9581b2c_current": { + "device": "nt-9874-s7rxt", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_hvac_heat_pump_current", + "hidden_by": null, + "original_name": "HVAC-Heat-Pump Current", + "platform": "sensor", + "state": "0.5", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_a6f39ecc6a8bf3453b9487dba9581b2c_energy_consumed": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_hvac_heat_pump_consumed_energy", + "hidden_by": null, + "original_name": "HVAC-Heat-Pump Consumed Energy", + "platform": "sensor", + "state": "1362032.0", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_a6f39ecc6a8bf3453b9487dba9581b2c_energy_net": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_hvac_heat_pump_net_energy", + "hidden_by": null, + "original_name": "HVAC-Heat-Pump Net Energy", + "platform": "sensor", + "state": "1351688.7", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_a6f39ecc6a8bf3453b9487dba9581b2c_energy_produced": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_hvac_heat_pump_produced_energy", + "hidden_by": null, + "original_name": "HVAC-Heat-Pump Produced Energy", + "platform": "sensor", + "state": "10343.3", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_a6f39ecc6a8bf3453b9487dba9581b2c_power": { + "device": "nt-9874-s7rxt", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_hvac_heat_pump_power", + "hidden_by": null, + "original_name": "HVAC-Heat-Pump Power", + "platform": "sensor", + "state": "4.4", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-9874-s7rxt_aa47c5f799def01ce9ed945a4200b544_breaker_rating": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_ovens_breaker_rating", + "hidden_by": null, + "original_name": "Ovens Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_aa47c5f799def01ce9ed945a4200b544_current": { + "device": "nt-9874-s7rxt", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_ovens_current", + "hidden_by": null, + "original_name": "Ovens Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_aa47c5f799def01ce9ed945a4200b544_energy_consumed": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_ovens_consumed_energy", + "hidden_by": null, + "original_name": "Ovens Consumed Energy", + "platform": "sensor", + "state": "1084195.1", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_aa47c5f799def01ce9ed945a4200b544_energy_net": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_ovens_net_energy", + "hidden_by": null, + "original_name": "Ovens Net Energy", + "platform": "sensor", + "state": "1051221.7", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_aa47c5f799def01ce9ed945a4200b544_energy_produced": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_ovens_produced_energy", + "hidden_by": null, + "original_name": "Ovens Produced Energy", + "platform": "sensor", + "state": "32973.4", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_aa47c5f799def01ce9ed945a4200b544_power": { + "device": "nt-9874-s7rxt", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_ovens_power", + "hidden_by": null, + "original_name": "Ovens Power", + "platform": "sensor", + "state": "11.6", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-9874-s7rxt_battery_power": { + "device": "nt-9874-s7rxt_bess", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_battery_battery_power", + "hidden_by": null, + "original_name": "Battery Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": "battery_power", + "unit_of_measurement": "W" + }, + "span_nt-9874-s7rxt_bess_communication_state": { + "device": "nt-9874-s7rxt_bess", + "device_class": "enum", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_communication_state", + "hidden_by": null, + "original_name": "Communication State", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "bess_communication_state", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_bess_connected": { + "device": "nt-9874-s7rxt_bess", + "device_class": "connectivity", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_battery_bess_connected", + "hidden_by": null, + "original_name": "BESS Connected", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "bess_connected", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_bess_firmware_version": { + "device": "nt-9874-s7rxt_bess", + "device_class": null, + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_firmware_version", + "hidden_by": null, + "original_name": "Firmware Version", + "platform": "sensor", + "state": "26.26.4 68c2bc82", + "state_class": null, + "translation_key": "bess_firmware_version", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_bess_meter_power": { + "device": "nt-9874-s7rxt_bess", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_battery_meter_power", + "hidden_by": null, + "original_name": "Meter Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": "bess_meter_power", + "unit_of_measurement": "W" + }, + "span_nt-9874-s7rxt_bess_model": { + "device": "nt-9874-s7rxt_bess", + "device_class": null, + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_model", + "hidden_by": null, + "original_name": "Model", + "platform": "sensor", + "state": "Powerwall 2 AC", + "state_class": null, + "translation_key": "bess_model", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_bess_nameplate_capacity": { + "device": "nt-9874-s7rxt_bess", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_nameplate_capacity", + "hidden_by": null, + "original_name": "Nameplate Capacity", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "bess_nameplate_capacity", + "unit_of_measurement": "kWh" + }, + "span_nt-9874-s7rxt_bess_part_number": { + "device": "nt-9874-s7rxt_bess", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_part_number", + "hidden_by": null, + "original_name": "Part Number", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "bess_part_number", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_bess_serial_number": { + "device": "nt-9874-s7rxt_bess", + "device_class": null, + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_serial_number", + "hidden_by": null, + "original_name": "Serial Number", + "platform": "sensor", + "state": "tg681049356k0x", + "state_class": null, + "translation_key": "bess_serial_number", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_bess_soe_kwh": { + "device": "nt-9874-s7rxt_bess", + "device_class": "energy_storage", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_state_of_energy", + "hidden_by": null, + "original_name": "State of Energy", + "platform": "sensor", + "state": "81.0", + "state_class": "measurement", + "translation_key": "bess_soe_kwh", + "unit_of_measurement": "kWh" + }, + "span_nt-9874-s7rxt_bess_vendor": { + "device": "nt-9874-s7rxt_bess", + "device_class": null, + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_vendor", + "hidden_by": null, + "original_name": "Vendor", + "platform": "sensor", + "state": "Tesla", + "state_class": null, + "translation_key": "bess_vendor", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_c00a7e2e5d468da627d084071177d865_breaker_rating": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_studio_hvac_breaker_rating", + "hidden_by": null, + "original_name": "Studio-HVAC Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_c00a7e2e5d468da627d084071177d865_current": { + "device": "nt-9874-s7rxt", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_studio_hvac_current", + "hidden_by": null, + "original_name": "Studio-HVAC Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_c00a7e2e5d468da627d084071177d865_energy_consumed": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_studio_hvac_consumed_energy", + "hidden_by": null, + "original_name": "Studio-HVAC Consumed Energy", + "platform": "sensor", + "state": "872104.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_c00a7e2e5d468da627d084071177d865_energy_net": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_studio_hvac_net_energy", + "hidden_by": null, + "original_name": "Studio-HVAC Net Energy", + "platform": "sensor", + "state": "870673.1", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_c00a7e2e5d468da627d084071177d865_energy_produced": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_studio_hvac_produced_energy", + "hidden_by": null, + "original_name": "Studio-HVAC Produced Energy", + "platform": "sensor", + "state": "1431.4", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_c00a7e2e5d468da627d084071177d865_power": { + "device": "nt-9874-s7rxt", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_studio_hvac_power", + "hidden_by": null, + "original_name": "Studio-HVAC Power", + "platform": "sensor", + "state": "12.6", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-9874-s7rxt_c0161381e50e069b9fd063a0ca1df808_breaker_rating": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_future_240vac_2_breaker_rating", + "hidden_by": null, + "original_name": "Future-240VAC-2 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_c0161381e50e069b9fd063a0ca1df808_current": { + "device": "nt-9874-s7rxt", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_future_240vac_2_current", + "hidden_by": null, + "original_name": "Future-240VAC-2 Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_c0161381e50e069b9fd063a0ca1df808_energy_consumed": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_future_240vac_2_consumed_energy", + "hidden_by": null, + "original_name": "Future-240VAC-2 Consumed Energy", + "platform": "sensor", + "state": "35474.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_c0161381e50e069b9fd063a0ca1df808_energy_net": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_future_240vac_2_net_energy", + "hidden_by": null, + "original_name": "Future-240VAC-2 Net Energy", + "platform": "sensor", + "state": "-9870.8", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_c0161381e50e069b9fd063a0ca1df808_energy_produced": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_future_240vac_2_produced_energy", + "hidden_by": null, + "original_name": "Future-240VAC-2 Produced Energy", + "platform": "sensor", + "state": "45345.3", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_c0161381e50e069b9fd063a0ca1df808_power": { + "device": "nt-9874-s7rxt", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_future_240vac_2_power", + "hidden_by": null, + "original_name": "Future-240VAC-2 Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-9874-s7rxt_caff3023f569495b2a36bf9354a8cd38_breaker_rating": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_kitchen_outlets_1_outlets_2_breaker_rating", + "hidden_by": null, + "original_name": "Kitchen-Outlets-1 & Outlets-2 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_caff3023f569495b2a36bf9354a8cd38_current": { + "device": "nt-9874-s7rxt", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_outlets_1_outlets_2_current", + "hidden_by": null, + "original_name": "Kitchen-Outlets-1 & Outlets-2 Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_caff3023f569495b2a36bf9354a8cd38_energy_consumed": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_outlets_1_outlets_2_consumed_energy", + "hidden_by": null, + "original_name": "Kitchen-Outlets-1 & Outlets-2 Consumed Energy", + "platform": "sensor", + "state": "129126.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_caff3023f569495b2a36bf9354a8cd38_energy_net": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_outlets_1_outlets_2_net_energy", + "hidden_by": null, + "original_name": "Kitchen-Outlets-1 & Outlets-2 Net Energy", + "platform": "sensor", + "state": "117771.0", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_caff3023f569495b2a36bf9354a8cd38_energy_produced": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_outlets_1_outlets_2_produced_energy", + "hidden_by": null, + "original_name": "Kitchen-Outlets-1 & Outlets-2 Produced Energy", + "platform": "sensor", + "state": "11355.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_caff3023f569495b2a36bf9354a8cd38_power": { + "device": "nt-9874-s7rxt", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_outlets_1_outlets_2_power", + "hidden_by": null, + "original_name": "Kitchen-Outlets-1 & Outlets-2 Power", + "platform": "sensor", + "state": "3.3", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-9874-s7rxt_cb26f4260adebb7b71de48682618db0a_breaker_rating": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_wine_refrigerator_breaker_rating", + "hidden_by": null, + "original_name": "Wine Refrigerator Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_cb26f4260adebb7b71de48682618db0a_current": { + "device": "nt-9874-s7rxt", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_wine_refrigerator_current", + "hidden_by": null, + "original_name": "Wine Refrigerator Current", + "platform": "sensor", + "state": "0.4", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_cb26f4260adebb7b71de48682618db0a_energy_consumed": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_wine_refrigerator_consumed_energy", + "hidden_by": null, + "original_name": "Wine Refrigerator Consumed Energy", + "platform": "sensor", + "state": "4176975.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_cb26f4260adebb7b71de48682618db0a_energy_net": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_wine_refrigerator_net_energy", + "hidden_by": null, + "original_name": "Wine Refrigerator Net Energy", + "platform": "sensor", + "state": "4172046.6", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_cb26f4260adebb7b71de48682618db0a_energy_produced": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_wine_refrigerator_produced_energy", + "hidden_by": null, + "original_name": "Wine Refrigerator Produced Energy", + "platform": "sensor", + "state": "4928.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_cb26f4260adebb7b71de48682618db0a_power": { + "device": "nt-9874-s7rxt", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_wine_refrigerator_power", + "hidden_by": null, + "original_name": "Wine Refrigerator Power", + "platform": "sensor", + "state": "34.4", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-9874-s7rxt_current_power": { + "device": "nt-9874-s7rxt", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_current_power", + "hidden_by": null, + "original_name": "Current Power", + "platform": "sensor", + "state": "1283.7", + "state_class": "measurement", + "translation_key": "instant_grid_power", + "unit_of_measurement": "W" + }, + "span_nt-9874-s7rxt_current_run_config": { + "device": "nt-9874-s7rxt", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_current_run_config", + "hidden_by": null, + "original_name": "Current Run Config", + "platform": "sensor", + "state": "panel_on_grid", + "state_class": null, + "translation_key": "current_run_config", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_doorState": { + "device": "nt-9874-s7rxt", + "device_class": "tamper", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_door_state", + "hidden_by": null, + "original_name": "Door State", + "platform": "binary_sensor", + "state": "unknown", + "state_class": null, + "translation_key": "door_state", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_downstream_l1_current": { + "device": "nt-9874-s7rxt", + "device_class": "current", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_downstream_l1_current", + "hidden_by": null, + "original_name": "Downstream L1 Current", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "downstream_l1_current", + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_downstream_l2_current": { + "device": "nt-9874-s7rxt", + "device_class": "current", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_downstream_l2_current", + "hidden_by": null, + "original_name": "Downstream L2 Current", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "downstream_l2_current", + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_dsm_grid_state": { + "device": "nt-9874-s7rxt", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_dsm_grid_state", + "hidden_by": null, + "original_name": "DSM Grid State", + "platform": "sensor", + "state": "dsm_on_grid", + "state_class": null, + "translation_key": "dsm_grid_state", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_dsm_state": { + "device": "nt-9874-s7rxt", + "device_class": "enum", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_dsm_state", + "hidden_by": null, + "original_name": "DSM State", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "dsm_state", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_eth0Link": { + "device": "nt-9874-s7rxt", + "device_class": "connectivity", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_ethernet_link", + "hidden_by": null, + "original_name": "Ethernet Link", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "ethernet_link", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_f66769009923287a83be6740bd0bbfbd_breaker_rating": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_hvac_heating_coil_breaker_rating", + "hidden_by": null, + "original_name": "HVAC-Heating-Coil Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_f66769009923287a83be6740bd0bbfbd_current": { + "device": "nt-9874-s7rxt", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_hvac_heating_coil_current", + "hidden_by": null, + "original_name": "HVAC-Heating-Coil Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_f66769009923287a83be6740bd0bbfbd_energy_consumed": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_hvac_heating_coil_consumed_energy", + "hidden_by": null, + "original_name": "HVAC-Heating-Coil Consumed Energy", + "platform": "sensor", + "state": "28532.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_f66769009923287a83be6740bd0bbfbd_energy_net": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_hvac_heating_coil_net_energy", + "hidden_by": null, + "original_name": "HVAC-Heating-Coil Net Energy", + "platform": "sensor", + "state": "2865.9", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_f66769009923287a83be6740bd0bbfbd_energy_produced": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_hvac_heating_coil_produced_energy", + "hidden_by": null, + "original_name": "HVAC-Heating-Coil Produced Energy", + "platform": "sensor", + "state": "25667.0", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_f66769009923287a83be6740bd0bbfbd_power": { + "device": "nt-9874-s7rxt", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_hvac_heating_coil_power", + "hidden_by": null, + "original_name": "HVAC-Heating-Coil Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-9874-s7rxt_f84ad966ee15cec0c359d151af8157e2_breaker_rating": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_water_heater_breaker_rating", + "hidden_by": null, + "original_name": "Water-Heater Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_f84ad966ee15cec0c359d151af8157e2_current": { + "device": "nt-9874-s7rxt", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_water_heater_current", + "hidden_by": null, + "original_name": "Water-Heater Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_f84ad966ee15cec0c359d151af8157e2_energy_consumed": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_water_heater_consumed_energy", + "hidden_by": null, + "original_name": "Water-Heater Consumed Energy", + "platform": "sensor", + "state": "717908.8", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_f84ad966ee15cec0c359d151af8157e2_energy_net": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_water_heater_net_energy", + "hidden_by": null, + "original_name": "Water-Heater Net Energy", + "platform": "sensor", + "state": "679165.9", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_f84ad966ee15cec0c359d151af8157e2_energy_produced": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_water_heater_produced_energy", + "hidden_by": null, + "original_name": "Water-Heater Produced Energy", + "platform": "sensor", + "state": "38742.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_f84ad966ee15cec0c359d151af8157e2_power": { + "device": "nt-9874-s7rxt", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_water_heater_power", + "hidden_by": null, + "original_name": "Water-Heater Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_nt-9874-s7rxt_feed_through_consumed_energy": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_feed_through_consumed_energy", + "hidden_by": null, + "original_name": "Feed Through Consumed Energy", + "platform": "sensor", + "state": null, + "state_class": "total", + "translation_key": "feedthrough_consumed_energy", + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_feed_through_net_energy": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_feed_through_net_energy", + "hidden_by": null, + "original_name": "Feed Through Net Energy", + "platform": "sensor", + "state": null, + "state_class": "total", + "translation_key": "feedthrough_net_energy", + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_feed_through_power": { + "device": "nt-9874-s7rxt", + "device_class": "power", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_feed_through_power", + "hidden_by": null, + "original_name": "Feed Through Power", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "feedthrough_power", + "unit_of_measurement": "W" + }, + "span_nt-9874-s7rxt_feed_through_produced_energy": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_feed_through_produced_energy", + "hidden_by": null, + "original_name": "Feed Through Produced Energy", + "platform": "sensor", + "state": null, + "state_class": "total", + "translation_key": "feedthrough_produced_energy", + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_gfe_override": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "button.span_panel_gfe_override_grid_connected", + "hidden_by": null, + "original_name": "GFE Override: Grid Connected", + "platform": "button", + "state": "unavailable", + "state_class": null, + "translation_key": "gfe_override", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_grid_forming_entity": { + "device": "nt-9874-s7rxt", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_grid_forming_entity", + "hidden_by": null, + "original_name": "Grid Forming Entity", + "platform": "sensor", + "state": "grid", + "state_class": null, + "translation_key": "grid_forming_entity", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_grid_islandable": { + "device": "nt-9874-s7rxt", + "device_class": "power", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_grid_islandable", + "hidden_by": null, + "original_name": "Grid Islandable", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "grid_islandable", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_grid_power_flow": { + "device": "nt-9874-s7rxt", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_grid_power", + "hidden_by": null, + "original_name": "Grid Power", + "platform": "sensor", + "state": "1257.0", + "state_class": "measurement", + "translation_key": "grid_power_flow", + "unit_of_measurement": "W" + }, + "span_nt-9874-s7rxt_l1_voltage": { + "device": "nt-9874-s7rxt", + "device_class": "voltage", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_l1_voltage", + "hidden_by": null, + "original_name": "L1 Voltage", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "l1_voltage", + "unit_of_measurement": "V" + }, + "span_nt-9874-s7rxt_l2_voltage": { + "device": "nt-9874-s7rxt", + "device_class": "voltage", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_l2_voltage", + "hidden_by": null, + "original_name": "L2 Voltage", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "l2_voltage", + "unit_of_measurement": "V" + }, + "span_nt-9874-s7rxt_main_breaker_rating": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_main_breaker_rating", + "hidden_by": null, + "original_name": "Main Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "main_breaker_rating", + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_main_meter_consumed_energy": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_main_meter_consumed_energy", + "hidden_by": null, + "original_name": "Main Meter Consumed Energy", + "platform": "sensor", + "state": "27610149.5", + "state_class": "total_increasing", + "translation_key": "main_meter_consumed_energy", + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_main_meter_net_energy": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_main_meter_net_energy", + "hidden_by": null, + "original_name": "Main Meter Net Energy", + "platform": "sensor", + "state": null, + "state_class": "total", + "translation_key": "main_meter_net_energy", + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_main_meter_produced_energy": { + "device": "nt-9874-s7rxt", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_main_meter_produced_energy", + "hidden_by": null, + "original_name": "Main Meter Produced Energy", + "platform": "sensor", + "state": "4055664.2", + "state_class": "total_increasing", + "translation_key": "main_meter_produced_energy", + "unit_of_measurement": "Wh" + }, + "span_nt-9874-s7rxt_main_relay_state": { + "device": "nt-9874-s7rxt", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_main_relay_state", + "hidden_by": null, + "original_name": "Main Relay State", + "platform": "sensor", + "state": "closed", + "state_class": null, + "translation_key": "main_relay_state", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_mid_mid_grid_state": { + "device": "nt-9874-s7rxt_mid", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_microgrid_interconnect_grid_state", + "hidden_by": null, + "original_name": "Grid State", + "platform": "sensor", + "state": "unknown", + "state_class": null, + "translation_key": "mid_grid_state", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_panel_status": { + "device": "nt-9874-s7rxt", + "device_class": "connectivity", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_panel_status", + "hidden_by": null, + "original_name": "Panel Status", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "panel_status", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_pcs_active": { + "device": "nt-9874-s7rxt", + "device_class": "running", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_pcs_active", + "hidden_by": null, + "original_name": "PCS Active", + "platform": "binary_sensor", + "state": "off", + "state_class": null, + "translation_key": "pcs_active", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_pcs_binding_constraint": { + "device": "nt-9874-s7rxt", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_binding_constraint", + "hidden_by": null, + "original_name": "Binding Constraint", + "platform": "sensor", + "state": "fsr", + "state_class": null, + "translation_key": "pcs_binding_constraint", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_pcs_import_limit": { + "device": "nt-9874-s7rxt", + "device_class": "current", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_import_limit", + "hidden_by": null, + "original_name": "Import Limit", + "platform": "sensor", + "state": "160.0", + "state_class": "measurement", + "translation_key": "pcs_import_limit", + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_pv_nameplate_capacity": { + "device": "nt-9874-s7rxt_pv", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_solar_pv_nameplate_capacity", + "hidden_by": null, + "original_name": "PV Nameplate Capacity", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "pv_nameplate_capacity", + "unit_of_measurement": "W" + }, + "span_nt-9874-s7rxt_pv_panel_link": { + "device": "nt-9874-s7rxt_pv", + "device_class": "connectivity", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_solar_pv_panel_link", + "hidden_by": null, + "original_name": "PV Panel Link", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "pv_panel_link", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_pv_power": { + "device": "nt-9874-s7rxt_pv", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_solar_pv_power", + "hidden_by": null, + "original_name": "PV Power", + "platform": "sensor", + "state": "1622.0", + "state_class": "measurement", + "translation_key": "pv_power", + "unit_of_measurement": "W" + }, + "span_nt-9874-s7rxt_pv_product": { + "device": "nt-9874-s7rxt_pv", + "device_class": null, + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_solar_pv_product", + "hidden_by": null, + "original_name": "PV Product", + "platform": "sensor", + "state": "IQ7PLUS-72-x-US-&", + "state_class": null, + "translation_key": "pv_product", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_pv_vendor": { + "device": "nt-9874-s7rxt_pv", + "device_class": null, + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_solar_pv_vendor", + "hidden_by": null, + "original_name": "PV Vendor", + "platform": "sensor", + "state": "Enphase Energy", + "state_class": null, + "translation_key": "pv_vendor", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_relay_266eb903e50116147fb212879e812cd7": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_attic_back_outlet_breaker", + "hidden_by": null, + "original_name": "Attic-Back-Outlet Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_relay_31f1d56b0926276e04c84360b1a31a6c": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_hvac_air_handler_breaker", + "hidden_by": null, + "original_name": "HVAC-Air-Handler Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_relay_390351d21af25d6409aba2b210928f7f": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_clothes_dryer_breaker", + "hidden_by": null, + "original_name": "Clothes-Dryer Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_relay_48c572b0051eaddaf85e1c26ef0f52be": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_espresso_machine_breaker", + "hidden_by": null, + "original_name": "Espresso-Machine Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_relay_56def60d3bbd177fc8856cca8713c05a": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_shed_240vac_outlet_breaker", + "hidden_by": null, + "original_name": "Shed-240VAC-Outlet Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_relay_704b457f76e9451eb44fbc8287e67f9f": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_future_240vac_1_breaker", + "hidden_by": null, + "original_name": "Future-240VAC-1 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_relay_9498a44c930374d2ea1e9508c3def44e": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_cooktop_stove_breaker", + "hidden_by": null, + "original_name": "Cooktop/Stove Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_relay_a6f39ecc6a8bf3453b9487dba9581b2c": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_hvac_heat_pump_breaker", + "hidden_by": null, + "original_name": "HVAC-Heat-Pump Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_relay_aa47c5f799def01ce9ed945a4200b544": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_ovens_breaker", + "hidden_by": null, + "original_name": "Ovens Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_relay_c00a7e2e5d468da627d084071177d865": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_studio_hvac_breaker", + "hidden_by": null, + "original_name": "Studio-HVAC Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_relay_c0161381e50e069b9fd063a0ca1df808": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_future_240vac_2_breaker", + "hidden_by": null, + "original_name": "Future-240VAC-2 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_relay_caff3023f569495b2a36bf9354a8cd38": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_kitchen_outlets_1_outlets_2_breaker", + "hidden_by": null, + "original_name": "Kitchen-Outlets-1 & Outlets-2 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_relay_cb26f4260adebb7b71de48682618db0a": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_wine_refrigerator_breaker", + "hidden_by": null, + "original_name": "Wine Refrigerator Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_relay_f66769009923287a83be6740bd0bbfbd": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_hvac_heating_coil_breaker", + "hidden_by": null, + "original_name": "HVAC-Heating-Coil Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_relay_f84ad966ee15cec0c359d151af8157e2": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_water_heater_breaker", + "hidden_by": null, + "original_name": "Water-Heater Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_select_266eb903e50116147fb212879e812cd7": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_attic_back_outlet_circuit_priority", + "hidden_by": null, + "original_name": "Attic-Back-Outlet Circuit Priority", + "platform": "select", + "state": "soc_threshold", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_select_31f1d56b0926276e04c84360b1a31a6c": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_hvac_air_handler_circuit_priority", + "hidden_by": null, + "original_name": "HVAC-Air-Handler Circuit Priority", + "platform": "select", + "state": "off_grid", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_select_390351d21af25d6409aba2b210928f7f": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_clothes_dryer_circuit_priority", + "hidden_by": null, + "original_name": "Clothes-Dryer Circuit Priority", + "platform": "select", + "state": "off_grid", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_select_48c572b0051eaddaf85e1c26ef0f52be": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_espresso_machine_circuit_priority", + "hidden_by": null, + "original_name": "Espresso-Machine Circuit Priority", + "platform": "select", + "state": "soc_threshold", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_select_56def60d3bbd177fc8856cca8713c05a": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_shed_240vac_outlet_circuit_priority", + "hidden_by": null, + "original_name": "Shed-240VAC-Outlet Circuit Priority", + "platform": "select", + "state": "off_grid", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_select_704b457f76e9451eb44fbc8287e67f9f": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_future_240vac_1_circuit_priority", + "hidden_by": null, + "original_name": "Future-240VAC-1 Circuit Priority", + "platform": "select", + "state": "off_grid", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_select_9498a44c930374d2ea1e9508c3def44e": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_cooktop_stove_circuit_priority", + "hidden_by": null, + "original_name": "Cooktop/Stove Circuit Priority", + "platform": "select", + "state": "soc_threshold", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_select_a6f39ecc6a8bf3453b9487dba9581b2c": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_hvac_heat_pump_circuit_priority", + "hidden_by": null, + "original_name": "HVAC-Heat-Pump Circuit Priority", + "platform": "select", + "state": "off_grid", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_select_aa47c5f799def01ce9ed945a4200b544": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_ovens_circuit_priority", + "hidden_by": null, + "original_name": "Ovens Circuit Priority", + "platform": "select", + "state": "off_grid", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_select_c00a7e2e5d468da627d084071177d865": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_studio_hvac_circuit_priority", + "hidden_by": null, + "original_name": "Studio-HVAC Circuit Priority", + "platform": "select", + "state": "off_grid", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_select_c0161381e50e069b9fd063a0ca1df808": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_future_240vac_2_circuit_priority", + "hidden_by": null, + "original_name": "Future-240VAC-2 Circuit Priority", + "platform": "select", + "state": "off_grid", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_select_caff3023f569495b2a36bf9354a8cd38": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_kitchen_outlets_1_outlets_2_circuit_priority", + "hidden_by": null, + "original_name": "Kitchen-Outlets-1 & Outlets-2 Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_select_cb26f4260adebb7b71de48682618db0a": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_wine_refrigerator_circuit_priority", + "hidden_by": null, + "original_name": "Wine Refrigerator Circuit Priority", + "platform": "select", + "state": "soc_threshold", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_select_f66769009923287a83be6740bd0bbfbd": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_hvac_heating_coil_circuit_priority", + "hidden_by": null, + "original_name": "HVAC-Heating-Coil Circuit Priority", + "platform": "select", + "state": "off_grid", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_select_f84ad966ee15cec0c359d151af8157e2": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_water_heater_circuit_priority", + "hidden_by": null, + "original_name": "Water-Heater Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_shed_total_time_remaining": { + "device": "nt-9874-s7rxt", + "device_class": "duration", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_backup_time_remaining", + "hidden_by": null, + "original_name": "Backup Time Remaining", + "platform": "sensor", + "state": "4320.0", + "state_class": "measurement", + "translation_key": "shed_total_time_remaining", + "unit_of_measurement": "min" + }, + "span_nt-9874-s7rxt_site_power": { + "device": "nt-9874-s7rxt", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_site_power", + "hidden_by": null, + "original_name": "Site Power", + "platform": "sensor", + "state": "2879.0", + "state_class": "measurement", + "translation_key": "site_power", + "unit_of_measurement": "W" + }, + "span_nt-9874-s7rxt_software_version": { + "device": "nt-9874-s7rxt", + "device_class": null, + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_software_version", + "hidden_by": null, + "original_name": "Software Version", + "platform": "sensor", + "state": "spanos3/r202639/03", + "state_class": null, + "translation_key": "software_version", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_storage_battery_percentage": { + "device": "nt-9874-s7rxt_bess", + "device_class": "battery", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_battery_battery_level", + "hidden_by": null, + "original_name": "Battery Level", + "platform": "sensor", + "state": "100.0", + "state_class": "measurement", + "translation_key": "battery_level", + "unit_of_measurement": "%" + }, + "span_nt-9874-s7rxt_time_to_priority_shed": { + "device": "nt-9874-s7rxt", + "device_class": "duration", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_time_to_priority_shed", + "hidden_by": null, + "original_name": "Time to Priority Shed", + "platform": "sensor", + "state": "3037.0", + "state_class": "measurement", + "translation_key": "time_to_priority_shed", + "unit_of_measurement": "min" + }, + "span_nt-9874-s7rxt_upstream_l1_current": { + "device": "nt-9874-s7rxt", + "device_class": "current", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_upstream_l1_current", + "hidden_by": null, + "original_name": "Upstream L1 Current", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "upstream_l1_current", + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_upstream_l2_current": { + "device": "nt-9874-s7rxt", + "device_class": "current", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_upstream_l2_current", + "hidden_by": null, + "original_name": "Upstream L2 Current", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "upstream_l2_current", + "unit_of_measurement": "A" + }, + "span_nt-9874-s7rxt_vendor_cloud": { + "device": "nt-9874-s7rxt", + "device_class": "enum", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_vendor_cloud", + "hidden_by": null, + "original_name": "Vendor Cloud", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "vendor_cloud", + "unit_of_measurement": null + }, + "span_nt-9874-s7rxt_wlanLink": { + "device": "nt-9874-s7rxt", + "device_class": "connectivity", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_wi_fi_link", + "hidden_by": null, + "original_name": "Wi-Fi Link", + "platform": "binary_sensor", + "state": "off", + "state_class": null, + "translation_key": "wifi_link", + "unit_of_measurement": null + } + } +} diff --git a/tests/fixtures/expected_entities/r202639-a.json b/tests/fixtures/expected_entities/r202639-a.json new file mode 100644 index 0000000..f6910b7 --- /dev/null +++ b/tests/fixtures/expected_entities/r202639-a.json @@ -0,0 +1,799 @@ +{ + "devices": { + "xg-3940-9ooto": { + "hw_version": "3.0", + "manufacturer": "SPAN", + "model": "SPAN Panel", + "name": "Span Panel", + "serial_number": null, + "sw_version": "spanos3/r202639/03", + "via_device": null + } + }, + "entities": { + "span_xg-3940-9ooto_busbar_current": { + "device": "xg-3940-9ooto", + "device_class": "current", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_busbar_current", + "hidden_by": null, + "original_name": "Busbar Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": "busbar_current", + "unit_of_measurement": "A" + }, + "span_xg-3940-9ooto_circuit-3_breaker_rating": { + "device": "xg-3940-9ooto", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_7_bathroom_outlets_breaker_rating", + "hidden_by": null, + "original_name": "7 Bathroom / Outlets Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-3940-9ooto_circuit-3_current": { + "device": "xg-3940-9ooto", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_7_bathroom_outlets_current", + "hidden_by": null, + "original_name": "7 Bathroom / Outlets Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-3940-9ooto_circuit-3_energy_consumed": { + "device": "xg-3940-9ooto", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_7_bathroom_outlets_consumed_energy", + "hidden_by": null, + "original_name": "7 Bathroom / Outlets Consumed Energy", + "platform": "sensor", + "state": "4094.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-3940-9ooto_circuit-3_energy_net": { + "device": "xg-3940-9ooto", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_7_bathroom_outlets_net_energy", + "hidden_by": null, + "original_name": "7 Bathroom / Outlets Net Energy", + "platform": "sensor", + "state": "3820.7", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-3940-9ooto_circuit-3_energy_produced": { + "device": "xg-3940-9ooto", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_7_bathroom_outlets_produced_energy", + "hidden_by": null, + "original_name": "7 Bathroom / Outlets Produced Energy", + "platform": "sensor", + "state": "274.2", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-3940-9ooto_circuit-3_power": { + "device": "xg-3940-9ooto", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_7_bathroom_outlets_power", + "hidden_by": null, + "original_name": "7 Bathroom / Outlets Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-3940-9ooto_circuit-4_breaker_rating": { + "device": "xg-3940-9ooto", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_6_kitchen_outlets_breaker_rating", + "hidden_by": null, + "original_name": "6 Kitchen / Outlets Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-3940-9ooto_circuit-4_current": { + "device": "xg-3940-9ooto", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_6_kitchen_outlets_current", + "hidden_by": null, + "original_name": "6 Kitchen / Outlets Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-3940-9ooto_circuit-4_energy_consumed": { + "device": "xg-3940-9ooto", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_6_kitchen_outlets_consumed_energy", + "hidden_by": null, + "original_name": "6 Kitchen / Outlets Consumed Energy", + "platform": "sensor", + "state": "4153.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-3940-9ooto_circuit-4_energy_net": { + "device": "xg-3940-9ooto", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_6_kitchen_outlets_net_energy", + "hidden_by": null, + "original_name": "6 Kitchen / Outlets Net Energy", + "platform": "sensor", + "state": "3857.3", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-3940-9ooto_circuit-4_energy_produced": { + "device": "xg-3940-9ooto", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_6_kitchen_outlets_produced_energy", + "hidden_by": null, + "original_name": "6 Kitchen / Outlets Produced Energy", + "platform": "sensor", + "state": "296.2", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-3940-9ooto_circuit-4_power": { + "device": "xg-3940-9ooto", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_6_kitchen_outlets_power", + "hidden_by": null, + "original_name": "6 Kitchen / Outlets Power", + "platform": "sensor", + "state": "-0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-3940-9ooto_current_power": { + "device": "xg-3940-9ooto", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_current_power", + "hidden_by": null, + "original_name": "Current Power", + "platform": "sensor", + "state": "8.8", + "state_class": "measurement", + "translation_key": "instant_grid_power", + "unit_of_measurement": "W" + }, + "span_xg-3940-9ooto_current_run_config": { + "device": "xg-3940-9ooto", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_current_run_config", + "hidden_by": null, + "original_name": "Current Run Config", + "platform": "sensor", + "state": "panel_on_grid", + "state_class": null, + "translation_key": "current_run_config", + "unit_of_measurement": null + }, + "span_xg-3940-9ooto_doorState": { + "device": "xg-3940-9ooto", + "device_class": "tamper", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_door_state", + "hidden_by": null, + "original_name": "Door State", + "platform": "binary_sensor", + "state": "off", + "state_class": null, + "translation_key": "door_state", + "unit_of_measurement": null + }, + "span_xg-3940-9ooto_downstream_l1_current": { + "device": "xg-3940-9ooto", + "device_class": "current", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_downstream_l1_current", + "hidden_by": null, + "original_name": "Downstream L1 Current", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "downstream_l1_current", + "unit_of_measurement": "A" + }, + "span_xg-3940-9ooto_downstream_l2_current": { + "device": "xg-3940-9ooto", + "device_class": "current", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_downstream_l2_current", + "hidden_by": null, + "original_name": "Downstream L2 Current", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "downstream_l2_current", + "unit_of_measurement": "A" + }, + "span_xg-3940-9ooto_dsm_grid_state": { + "device": "xg-3940-9ooto", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_dsm_grid_state", + "hidden_by": null, + "original_name": "DSM Grid State", + "platform": "sensor", + "state": "dsm_on_grid", + "state_class": null, + "translation_key": "dsm_grid_state", + "unit_of_measurement": null + }, + "span_xg-3940-9ooto_dsm_state": { + "device": "xg-3940-9ooto", + "device_class": "enum", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_dsm_state", + "hidden_by": null, + "original_name": "DSM State", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "dsm_state", + "unit_of_measurement": null + }, + "span_xg-3940-9ooto_eth0Link": { + "device": "xg-3940-9ooto", + "device_class": "connectivity", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_ethernet_link", + "hidden_by": null, + "original_name": "Ethernet Link", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "ethernet_link", + "unit_of_measurement": null + }, + "span_xg-3940-9ooto_feed_through_consumed_energy": { + "device": "xg-3940-9ooto", + "device_class": "energy", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_feed_through_consumed_energy", + "hidden_by": null, + "original_name": "Feed Through Consumed Energy", + "platform": "sensor", + "state": null, + "state_class": "total", + "translation_key": "feedthrough_consumed_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-3940-9ooto_feed_through_net_energy": { + "device": "xg-3940-9ooto", + "device_class": "energy", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_feed_through_net_energy", + "hidden_by": null, + "original_name": "Feed Through Net Energy", + "platform": "sensor", + "state": null, + "state_class": "total", + "translation_key": "feedthrough_net_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-3940-9ooto_feed_through_power": { + "device": "xg-3940-9ooto", + "device_class": "power", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_feed_through_power", + "hidden_by": null, + "original_name": "Feed Through Power", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "feedthrough_power", + "unit_of_measurement": "W" + }, + "span_xg-3940-9ooto_feed_through_produced_energy": { + "device": "xg-3940-9ooto", + "device_class": "energy", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_feed_through_produced_energy", + "hidden_by": null, + "original_name": "Feed Through Produced Energy", + "platform": "sensor", + "state": null, + "state_class": "total", + "translation_key": "feedthrough_produced_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-3940-9ooto_frequency": { + "device": "xg-3940-9ooto", + "device_class": "frequency", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_frequency", + "hidden_by": null, + "original_name": "Frequency", + "platform": "sensor", + "state": "60.04", + "state_class": "measurement", + "translation_key": "frequency", + "unit_of_measurement": "Hz" + }, + "span_xg-3940-9ooto_grid_forming_entity": { + "device": "xg-3940-9ooto", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_grid_forming_entity", + "hidden_by": null, + "original_name": "Grid Forming Entity", + "platform": "sensor", + "state": "grid", + "state_class": null, + "translation_key": "grid_forming_entity", + "unit_of_measurement": null + }, + "span_xg-3940-9ooto_grid_islandable": { + "device": "xg-3940-9ooto", + "device_class": "power", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_grid_islandable", + "hidden_by": null, + "original_name": "Grid Islandable", + "platform": "binary_sensor", + "state": "off", + "state_class": null, + "translation_key": "grid_islandable", + "unit_of_measurement": null + }, + "span_xg-3940-9ooto_grid_power_flow": { + "device": "xg-3940-9ooto", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_grid_power", + "hidden_by": null, + "original_name": "Grid Power", + "platform": "sensor", + "state": "13.5", + "state_class": "measurement", + "translation_key": "grid_power_flow", + "unit_of_measurement": "W" + }, + "span_xg-3940-9ooto_l1_voltage": { + "device": "xg-3940-9ooto", + "device_class": "voltage", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_l1_voltage", + "hidden_by": null, + "original_name": "L1 Voltage", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "l1_voltage", + "unit_of_measurement": "V" + }, + "span_xg-3940-9ooto_l2_voltage": { + "device": "xg-3940-9ooto", + "device_class": "voltage", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_l2_voltage", + "hidden_by": null, + "original_name": "L2 Voltage", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "l2_voltage", + "unit_of_measurement": "V" + }, + "span_xg-3940-9ooto_main_breaker_rating": { + "device": "xg-3940-9ooto", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_main_breaker_rating", + "hidden_by": null, + "original_name": "Main Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "main_breaker_rating", + "unit_of_measurement": "A" + }, + "span_xg-3940-9ooto_main_meter_consumed_energy": { + "device": "xg-3940-9ooto", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_main_meter_consumed_energy", + "hidden_by": null, + "original_name": "Main Meter Consumed Energy", + "platform": "sensor", + "state": "123071.0", + "state_class": "total_increasing", + "translation_key": "main_meter_consumed_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-3940-9ooto_main_meter_net_energy": { + "device": "xg-3940-9ooto", + "device_class": "energy", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_main_meter_net_energy", + "hidden_by": null, + "original_name": "Main Meter Net Energy", + "platform": "sensor", + "state": null, + "state_class": "total", + "translation_key": "main_meter_net_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-3940-9ooto_main_meter_produced_energy": { + "device": "xg-3940-9ooto", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_main_meter_produced_energy", + "hidden_by": null, + "original_name": "Main Meter Produced Energy", + "platform": "sensor", + "state": "3.7", + "state_class": "total_increasing", + "translation_key": "main_meter_produced_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-3940-9ooto_main_relay_state": { + "device": "xg-3940-9ooto", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_main_relay_state", + "hidden_by": null, + "original_name": "Main Relay State", + "platform": "sensor", + "state": "unknown", + "state_class": null, + "translation_key": "main_relay_state", + "unit_of_measurement": null + }, + "span_xg-3940-9ooto_panel_status": { + "device": "xg-3940-9ooto", + "device_class": "connectivity", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_panel_status", + "hidden_by": null, + "original_name": "Panel Status", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "panel_status", + "unit_of_measurement": null + }, + "span_xg-3940-9ooto_pcs_active": { + "device": "xg-3940-9ooto", + "device_class": "running", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_pcs_active", + "hidden_by": null, + "original_name": "PCS Active", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "pcs_active", + "unit_of_measurement": null + }, + "span_xg-3940-9ooto_pcs_binding_constraint": { + "device": "xg-3940-9ooto", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_binding_constraint", + "hidden_by": null, + "original_name": "Binding Constraint", + "platform": "sensor", + "state": "fsr", + "state_class": null, + "translation_key": "pcs_binding_constraint", + "unit_of_measurement": null + }, + "span_xg-3940-9ooto_pcs_import_limit": { + "device": "xg-3940-9ooto", + "device_class": "current", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_import_limit", + "hidden_by": null, + "original_name": "Import Limit", + "platform": "sensor", + "state": "100.0", + "state_class": "measurement", + "translation_key": "pcs_import_limit", + "unit_of_measurement": "A" + }, + "span_xg-3940-9ooto_relay_circuit-3": { + "device": "xg-3940-9ooto", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_7_bathroom_outlets_breaker", + "hidden_by": null, + "original_name": "7 Bathroom / Outlets Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-3940-9ooto_relay_circuit-4": { + "device": "xg-3940-9ooto", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_6_kitchen_outlets_breaker", + "hidden_by": null, + "original_name": "6 Kitchen / Outlets Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-3940-9ooto_remote-ct-3_current": { + "device": "xg-3940-9ooto", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_remote_ct_3_current", + "hidden_by": null, + "original_name": "Remote CT 3 Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-3940-9ooto_remote-ct-3_energy_consumed": { + "device": "xg-3940-9ooto", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_remote_ct_3_consumed_energy", + "hidden_by": null, + "original_name": "Remote CT 3 Consumed Energy", + "platform": "sensor", + "state": "150745.3", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-3940-9ooto_remote-ct-3_energy_net": { + "device": "xg-3940-9ooto", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_remote_ct_3_net_energy", + "hidden_by": null, + "original_name": "Remote CT 3 Net Energy", + "platform": "sensor", + "state": "149800.9", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-3940-9ooto_remote-ct-3_energy_produced": { + "device": "xg-3940-9ooto", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_remote_ct_3_produced_energy", + "hidden_by": null, + "original_name": "Remote CT 3 Produced Energy", + "platform": "sensor", + "state": "944.4", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-3940-9ooto_remote-ct-3_power": { + "device": "xg-3940-9ooto", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_remote_ct_3_power", + "hidden_by": null, + "original_name": "Remote CT 3 Power", + "platform": "sensor", + "state": "13.5", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-3940-9ooto_select_circuit-3": { + "device": "xg-3940-9ooto", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_7_bathroom_outlets_circuit_priority", + "hidden_by": null, + "original_name": "7 Bathroom / Outlets Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-3940-9ooto_select_circuit-4": { + "device": "xg-3940-9ooto", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_6_kitchen_outlets_circuit_priority", + "hidden_by": null, + "original_name": "6 Kitchen / Outlets Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-3940-9ooto_site_power": { + "device": "xg-3940-9ooto", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_site_power", + "hidden_by": null, + "original_name": "Site Power", + "platform": "sensor", + "state": "4.8", + "state_class": "measurement", + "translation_key": "site_power", + "unit_of_measurement": "W" + }, + "span_xg-3940-9ooto_software_version": { + "device": "xg-3940-9ooto", + "device_class": null, + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_software_version", + "hidden_by": null, + "original_name": "Software Version", + "platform": "sensor", + "state": "spanos3/r202639/03", + "state_class": null, + "translation_key": "software_version", + "unit_of_measurement": null + }, + "span_xg-3940-9ooto_upstream_l1_current": { + "device": "xg-3940-9ooto", + "device_class": "current", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_upstream_l1_current", + "hidden_by": null, + "original_name": "Upstream L1 Current", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "upstream_l1_current", + "unit_of_measurement": "A" + }, + "span_xg-3940-9ooto_upstream_l2_current": { + "device": "xg-3940-9ooto", + "device_class": "current", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_upstream_l2_current", + "hidden_by": null, + "original_name": "Upstream L2 Current", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "upstream_l2_current", + "unit_of_measurement": "A" + }, + "span_xg-3940-9ooto_upstream_protection_rating": { + "device": "xg-3940-9ooto", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_upstream_protection_rating", + "hidden_by": null, + "original_name": "Upstream Protection Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "upstream_protection_rating", + "unit_of_measurement": "A" + }, + "span_xg-3940-9ooto_vendor_cloud": { + "device": "xg-3940-9ooto", + "device_class": "enum", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_vendor_cloud", + "hidden_by": null, + "original_name": "Vendor Cloud", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "vendor_cloud", + "unit_of_measurement": null + }, + "span_xg-3940-9ooto_wlanLink": { + "device": "xg-3940-9ooto", + "device_class": "connectivity", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_wi_fi_link", + "hidden_by": null, + "original_name": "Wi-Fi Link", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "wifi_link", + "unit_of_measurement": null + } + } +} diff --git a/tests/fixtures/expected_entities/r202639-b.json b/tests/fixtures/expected_entities/r202639-b.json new file mode 100644 index 0000000..a058c54 --- /dev/null +++ b/tests/fixtures/expected_entities/r202639-b.json @@ -0,0 +1,2367 @@ +{ + "devices": { + "xg-1155-18fkf": { + "hw_version": "3.0", + "manufacturer": "SPAN", + "model": "MAIN_16", + "name": "Span Panel", + "serial_number": null, + "sw_version": "spanos3/r202639/03", + "via_device": null + } + }, + "entities": { + "span_xg-1155-18fkf_busbar_current": { + "device": "xg-1155-18fkf", + "device_class": "current", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_busbar_current", + "hidden_by": null, + "original_name": "Busbar Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": "busbar_current", + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-17_breaker_rating": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_breaker_1_breaker_rating", + "hidden_by": null, + "original_name": "breaker-1 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-17_current": { + "device": "xg-1155-18fkf", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_1_current", + "hidden_by": null, + "original_name": "breaker-1 Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-17_energy_consumed": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_1_consumed_energy", + "hidden_by": null, + "original_name": "breaker-1 Consumed Energy", + "platform": "sensor", + "state": "509.8", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-17_energy_net": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_1_net_energy", + "hidden_by": null, + "original_name": "breaker-1 Net Energy", + "platform": "sensor", + "state": "111.8", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-17_energy_produced": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_1_produced_energy", + "hidden_by": null, + "original_name": "breaker-1 Produced Energy", + "platform": "sensor", + "state": "398.0", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-17_power": { + "device": "xg-1155-18fkf", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_1_power", + "hidden_by": null, + "original_name": "breaker-1 Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-1155-18fkf_circuit-18_breaker_rating": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_breaker_2_breaker_rating", + "hidden_by": null, + "original_name": "breaker-2 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-18_current": { + "device": "xg-1155-18fkf", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_2_current", + "hidden_by": null, + "original_name": "breaker-2 Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-18_energy_consumed": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_2_consumed_energy", + "hidden_by": null, + "original_name": "breaker-2 Consumed Energy", + "platform": "sensor", + "state": "526.3", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-18_energy_net": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_2_net_energy", + "hidden_by": null, + "original_name": "breaker-2 Net Energy", + "platform": "sensor", + "state": "133.9", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-18_energy_produced": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_2_produced_energy", + "hidden_by": null, + "original_name": "breaker-2 Produced Energy", + "platform": "sensor", + "state": "392.4", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-18_power": { + "device": "xg-1155-18fkf", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_2_power", + "hidden_by": null, + "original_name": "breaker-2 Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-1155-18fkf_circuit-19_breaker_rating": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_breaker_3_breaker_rating", + "hidden_by": null, + "original_name": "breaker-3 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-19_current": { + "device": "xg-1155-18fkf", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_3_current", + "hidden_by": null, + "original_name": "breaker-3 Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-19_energy_consumed": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_3_consumed_energy", + "hidden_by": null, + "original_name": "breaker-3 Consumed Energy", + "platform": "sensor", + "state": "509.3", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-19_energy_net": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_3_net_energy", + "hidden_by": null, + "original_name": "breaker-3 Net Energy", + "platform": "sensor", + "state": "106.6", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-19_energy_produced": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_3_produced_energy", + "hidden_by": null, + "original_name": "breaker-3 Produced Energy", + "platform": "sensor", + "state": "402.7", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-19_power": { + "device": "xg-1155-18fkf", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_3_power", + "hidden_by": null, + "original_name": "breaker-3 Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-1155-18fkf_circuit-20_breaker_rating": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_breaker_4_breaker_rating", + "hidden_by": null, + "original_name": "breaker-4 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-20_current": { + "device": "xg-1155-18fkf", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_4_current", + "hidden_by": null, + "original_name": "breaker-4 Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-20_energy_consumed": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_4_consumed_energy", + "hidden_by": null, + "original_name": "breaker-4 Consumed Energy", + "platform": "sensor", + "state": "1544.4", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-20_energy_net": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_4_net_energy", + "hidden_by": null, + "original_name": "breaker-4 Net Energy", + "platform": "sensor", + "state": "1442.8", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-20_energy_produced": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_4_produced_energy", + "hidden_by": null, + "original_name": "breaker-4 Produced Energy", + "platform": "sensor", + "state": "101.6", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-20_power": { + "device": "xg-1155-18fkf", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_4_power", + "hidden_by": null, + "original_name": "breaker-4 Power", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-1155-18fkf_circuit-21_breaker_rating": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_breaker_5_breaker_rating", + "hidden_by": null, + "original_name": "breaker-5 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-21_current": { + "device": "xg-1155-18fkf", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_5_current", + "hidden_by": null, + "original_name": "breaker-5 Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-21_energy_consumed": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_5_consumed_energy", + "hidden_by": null, + "original_name": "breaker-5 Consumed Energy", + "platform": "sensor", + "state": "527.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-21_energy_net": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_5_net_energy", + "hidden_by": null, + "original_name": "breaker-5 Net Energy", + "platform": "sensor", + "state": "127.6", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-21_energy_produced": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_5_produced_energy", + "hidden_by": null, + "original_name": "breaker-5 Produced Energy", + "platform": "sensor", + "state": "400.3", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-21_power": { + "device": "xg-1155-18fkf", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_5_power", + "hidden_by": null, + "original_name": "breaker-5 Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-1155-18fkf_circuit-22_breaker_rating": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_breaker_6_breaker_rating", + "hidden_by": null, + "original_name": "breaker-6 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-22_current": { + "device": "xg-1155-18fkf", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_6_current", + "hidden_by": null, + "original_name": "breaker-6 Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-22_energy_consumed": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_6_consumed_energy", + "hidden_by": null, + "original_name": "breaker-6 Consumed Energy", + "platform": "sensor", + "state": "43718.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-22_energy_net": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_6_net_energy", + "hidden_by": null, + "original_name": "breaker-6 Net Energy", + "platform": "sensor", + "state": "43423.2", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-22_energy_produced": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_6_produced_energy", + "hidden_by": null, + "original_name": "breaker-6 Produced Energy", + "platform": "sensor", + "state": "295.3", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-22_power": { + "device": "xg-1155-18fkf", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_6_power", + "hidden_by": null, + "original_name": "breaker-6 Power", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-1155-18fkf_circuit-23_breaker_rating": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_breaker_7_breaker_rating", + "hidden_by": null, + "original_name": "breaker-7 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-23_current": { + "device": "xg-1155-18fkf", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_7_current", + "hidden_by": null, + "original_name": "breaker-7 Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-23_energy_consumed": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_7_consumed_energy", + "hidden_by": null, + "original_name": "breaker-7 Consumed Energy", + "platform": "sensor", + "state": "521.4", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-23_energy_net": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_7_net_energy", + "hidden_by": null, + "original_name": "breaker-7 Net Energy", + "platform": "sensor", + "state": "102.1", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-23_energy_produced": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_7_produced_energy", + "hidden_by": null, + "original_name": "breaker-7 Produced Energy", + "platform": "sensor", + "state": "419.3", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-23_power": { + "device": "xg-1155-18fkf", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_7_power", + "hidden_by": null, + "original_name": "breaker-7 Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-1155-18fkf_circuit-24_breaker_rating": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_breaker_8_breaker_rating", + "hidden_by": null, + "original_name": "breaker-8 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-24_current": { + "device": "xg-1155-18fkf", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_8_current", + "hidden_by": null, + "original_name": "breaker-8 Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-24_energy_consumed": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_8_consumed_energy", + "hidden_by": null, + "original_name": "breaker-8 Consumed Energy", + "platform": "sensor", + "state": "519.0", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-24_energy_net": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_8_net_energy", + "hidden_by": null, + "original_name": "breaker-8 Net Energy", + "platform": "sensor", + "state": "100.8", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-24_energy_produced": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_8_produced_energy", + "hidden_by": null, + "original_name": "breaker-8 Produced Energy", + "platform": "sensor", + "state": "418.2", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-24_power": { + "device": "xg-1155-18fkf", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_8_power", + "hidden_by": null, + "original_name": "breaker-8 Power", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-1155-18fkf_circuit-25_breaker_rating": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_breaker_9_breaker_rating", + "hidden_by": null, + "original_name": "breaker-9 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-25_current": { + "device": "xg-1155-18fkf", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_9_current", + "hidden_by": null, + "original_name": "breaker-9 Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-25_energy_consumed": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_9_consumed_energy", + "hidden_by": null, + "original_name": "breaker-9 Consumed Energy", + "platform": "sensor", + "state": "7413.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-25_energy_net": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_9_net_energy", + "hidden_by": null, + "original_name": "breaker-9 Net Energy", + "platform": "sensor", + "state": "7339.0", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-25_energy_produced": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_9_produced_energy", + "hidden_by": null, + "original_name": "breaker-9 Produced Energy", + "platform": "sensor", + "state": "74.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-25_power": { + "device": "xg-1155-18fkf", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_9_power", + "hidden_by": null, + "original_name": "breaker-9 Power", + "platform": "sensor", + "state": "0.9", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-1155-18fkf_circuit-26_breaker_rating": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_breaker_10_breaker_rating", + "hidden_by": null, + "original_name": "breaker-10 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-26_current": { + "device": "xg-1155-18fkf", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_10_current", + "hidden_by": null, + "original_name": "breaker-10 Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-26_energy_consumed": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_10_consumed_energy", + "hidden_by": null, + "original_name": "breaker-10 Consumed Energy", + "platform": "sensor", + "state": "503.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-26_energy_net": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_10_net_energy", + "hidden_by": null, + "original_name": "breaker-10 Net Energy", + "platform": "sensor", + "state": "117.4", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-26_energy_produced": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_10_produced_energy", + "hidden_by": null, + "original_name": "breaker-10 Produced Energy", + "platform": "sensor", + "state": "386.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-26_power": { + "device": "xg-1155-18fkf", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_10_power", + "hidden_by": null, + "original_name": "breaker-10 Power", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-1155-18fkf_circuit-27_breaker_rating": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_breaker_11_breaker_rating", + "hidden_by": null, + "original_name": "breaker-11 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-27_current": { + "device": "xg-1155-18fkf", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_11_current", + "hidden_by": null, + "original_name": "breaker-11 Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-27_energy_consumed": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_11_consumed_energy", + "hidden_by": null, + "original_name": "breaker-11 Consumed Energy", + "platform": "sensor", + "state": "9727.3", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-27_energy_net": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_11_net_energy", + "hidden_by": null, + "original_name": "breaker-11 Net Energy", + "platform": "sensor", + "state": "9649.4", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-27_energy_produced": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_11_produced_energy", + "hidden_by": null, + "original_name": "breaker-11 Produced Energy", + "platform": "sensor", + "state": "77.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-27_power": { + "device": "xg-1155-18fkf", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_11_power", + "hidden_by": null, + "original_name": "breaker-11 Power", + "platform": "sensor", + "state": "1.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-1155-18fkf_circuit-28_breaker_rating": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_breaker_12_breaker_rating", + "hidden_by": null, + "original_name": "breaker-12 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-28_current": { + "device": "xg-1155-18fkf", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_12_current", + "hidden_by": null, + "original_name": "breaker-12 Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-28_energy_consumed": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_12_consumed_energy", + "hidden_by": null, + "original_name": "breaker-12 Consumed Energy", + "platform": "sensor", + "state": "516.8", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-28_energy_net": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_12_net_energy", + "hidden_by": null, + "original_name": "breaker-12 Net Energy", + "platform": "sensor", + "state": "110.5", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-28_energy_produced": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_12_produced_energy", + "hidden_by": null, + "original_name": "breaker-12 Produced Energy", + "platform": "sensor", + "state": "406.3", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-28_power": { + "device": "xg-1155-18fkf", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_12_power", + "hidden_by": null, + "original_name": "breaker-12 Power", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-1155-18fkf_circuit-29_breaker_rating": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_breaker_13_breaker_rating", + "hidden_by": null, + "original_name": "breaker-13 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-29_current": { + "device": "xg-1155-18fkf", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_13_current", + "hidden_by": null, + "original_name": "breaker-13 Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-29_energy_consumed": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_13_consumed_energy", + "hidden_by": null, + "original_name": "breaker-13 Consumed Energy", + "platform": "sensor", + "state": "511.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-29_energy_net": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_13_net_energy", + "hidden_by": null, + "original_name": "breaker-13 Net Energy", + "platform": "sensor", + "state": "125.5", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-29_energy_produced": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_13_produced_energy", + "hidden_by": null, + "original_name": "breaker-13 Produced Energy", + "platform": "sensor", + "state": "386.4", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-29_power": { + "device": "xg-1155-18fkf", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_13_power", + "hidden_by": null, + "original_name": "breaker-13 Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-1155-18fkf_circuit-30_breaker_rating": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_breaker_14_breaker_rating", + "hidden_by": null, + "original_name": "breaker-14 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-30_current": { + "device": "xg-1155-18fkf", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_14_current", + "hidden_by": null, + "original_name": "breaker-14 Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-30_energy_consumed": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_14_consumed_energy", + "hidden_by": null, + "original_name": "breaker-14 Consumed Energy", + "platform": "sensor", + "state": "524.6", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-30_energy_net": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_14_net_energy", + "hidden_by": null, + "original_name": "breaker-14 Net Energy", + "platform": "sensor", + "state": "124.9", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-30_energy_produced": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_14_produced_energy", + "hidden_by": null, + "original_name": "breaker-14 Produced Energy", + "platform": "sensor", + "state": "399.7", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-30_power": { + "device": "xg-1155-18fkf", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_14_power", + "hidden_by": null, + "original_name": "breaker-14 Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-1155-18fkf_circuit-31_breaker_rating": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_breaker_15_breaker_rating", + "hidden_by": null, + "original_name": "breaker-15 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-31_current": { + "device": "xg-1155-18fkf", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_15_current", + "hidden_by": null, + "original_name": "breaker-15 Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-31_energy_consumed": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_15_consumed_energy", + "hidden_by": null, + "original_name": "breaker-15 Consumed Energy", + "platform": "sensor", + "state": "515.4", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-31_energy_net": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_15_net_energy", + "hidden_by": null, + "original_name": "breaker-15 Net Energy", + "platform": "sensor", + "state": "107.2", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-31_energy_produced": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_15_produced_energy", + "hidden_by": null, + "original_name": "breaker-15 Produced Energy", + "platform": "sensor", + "state": "408.2", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-31_power": { + "device": "xg-1155-18fkf", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_15_power", + "hidden_by": null, + "original_name": "breaker-15 Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-1155-18fkf_circuit-32_breaker_rating": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_breaker_16_breaker_rating", + "hidden_by": null, + "original_name": "breaker-16 Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-32_current": { + "device": "xg-1155-18fkf", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_16_current", + "hidden_by": null, + "original_name": "breaker-16 Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_circuit-32_energy_consumed": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_16_consumed_energy", + "hidden_by": null, + "original_name": "breaker-16 Consumed Energy", + "platform": "sensor", + "state": "508.6", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-32_energy_net": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_16_net_energy", + "hidden_by": null, + "original_name": "breaker-16 Net Energy", + "platform": "sensor", + "state": "86.8", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-32_energy_produced": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_16_produced_energy", + "hidden_by": null, + "original_name": "breaker-16 Produced Energy", + "platform": "sensor", + "state": "421.8", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_circuit-32_power": { + "device": "xg-1155-18fkf", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_breaker_16_power", + "hidden_by": null, + "original_name": "breaker-16 Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-1155-18fkf_current_power": { + "device": "xg-1155-18fkf", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_current_power", + "hidden_by": null, + "original_name": "Current Power", + "platform": "sensor", + "state": "11.5", + "state_class": "measurement", + "translation_key": "instant_grid_power", + "unit_of_measurement": "W" + }, + "span_xg-1155-18fkf_current_run_config": { + "device": "xg-1155-18fkf", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_current_run_config", + "hidden_by": null, + "original_name": "Current Run Config", + "platform": "sensor", + "state": "unknown", + "state_class": null, + "translation_key": "current_run_config", + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_doorState": { + "device": "xg-1155-18fkf", + "device_class": "tamper", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_door_state", + "hidden_by": null, + "original_name": "Door State", + "platform": "binary_sensor", + "state": "off", + "state_class": null, + "translation_key": "door_state", + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_downstream_l1_current": { + "device": "xg-1155-18fkf", + "device_class": "current", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_downstream_l1_current", + "hidden_by": null, + "original_name": "Downstream L1 Current", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "downstream_l1_current", + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_downstream_l2_current": { + "device": "xg-1155-18fkf", + "device_class": "current", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_downstream_l2_current", + "hidden_by": null, + "original_name": "Downstream L2 Current", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "downstream_l2_current", + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_dsm_grid_state": { + "device": "xg-1155-18fkf", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_dsm_grid_state", + "hidden_by": null, + "original_name": "DSM Grid State", + "platform": "sensor", + "state": "unknown", + "state_class": null, + "translation_key": "dsm_grid_state", + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_dsm_state": { + "device": "xg-1155-18fkf", + "device_class": "enum", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_dsm_state", + "hidden_by": null, + "original_name": "DSM State", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "dsm_state", + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_eth0Link": { + "device": "xg-1155-18fkf", + "device_class": "connectivity", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_ethernet_link", + "hidden_by": null, + "original_name": "Ethernet Link", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "ethernet_link", + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_feed_through_consumed_energy": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_feed_through_consumed_energy", + "hidden_by": null, + "original_name": "Feed Through Consumed Energy", + "platform": "sensor", + "state": null, + "state_class": "total", + "translation_key": "feedthrough_consumed_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_feed_through_net_energy": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_feed_through_net_energy", + "hidden_by": null, + "original_name": "Feed Through Net Energy", + "platform": "sensor", + "state": null, + "state_class": "total", + "translation_key": "feedthrough_net_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_feed_through_power": { + "device": "xg-1155-18fkf", + "device_class": "power", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_feed_through_power", + "hidden_by": null, + "original_name": "Feed Through Power", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "feedthrough_power", + "unit_of_measurement": "W" + }, + "span_xg-1155-18fkf_feed_through_produced_energy": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_feed_through_produced_energy", + "hidden_by": null, + "original_name": "Feed Through Produced Energy", + "platform": "sensor", + "state": null, + "state_class": "total", + "translation_key": "feedthrough_produced_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_frequency": { + "device": "xg-1155-18fkf", + "device_class": "frequency", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_frequency", + "hidden_by": null, + "original_name": "Frequency", + "platform": "sensor", + "state": "60.04", + "state_class": "measurement", + "translation_key": "frequency", + "unit_of_measurement": "Hz" + }, + "span_xg-1155-18fkf_grid_forming_entity": { + "device": "xg-1155-18fkf", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_grid_forming_entity", + "hidden_by": null, + "original_name": "Grid Forming Entity", + "platform": "sensor", + "state": "grid", + "state_class": null, + "translation_key": "grid_forming_entity", + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_grid_islandable": { + "device": "xg-1155-18fkf", + "device_class": "power", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_grid_islandable", + "hidden_by": null, + "original_name": "Grid Islandable", + "platform": "binary_sensor", + "state": "off", + "state_class": null, + "translation_key": "grid_islandable", + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_grid_power_flow": { + "device": "xg-1155-18fkf", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_grid_power", + "hidden_by": null, + "original_name": "Grid Power", + "platform": "sensor", + "state": "0.2", + "state_class": "measurement", + "translation_key": "grid_power_flow", + "unit_of_measurement": "W" + }, + "span_xg-1155-18fkf_l1_voltage": { + "device": "xg-1155-18fkf", + "device_class": "voltage", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_l1_voltage", + "hidden_by": null, + "original_name": "L1 Voltage", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "l1_voltage", + "unit_of_measurement": "V" + }, + "span_xg-1155-18fkf_l2_voltage": { + "device": "xg-1155-18fkf", + "device_class": "voltage", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_l2_voltage", + "hidden_by": null, + "original_name": "L2 Voltage", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "l2_voltage", + "unit_of_measurement": "V" + }, + "span_xg-1155-18fkf_main_breaker_rating": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_main_breaker_rating", + "hidden_by": null, + "original_name": "Main Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "main_breaker_rating", + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_main_meter_consumed_energy": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_main_meter_consumed_energy", + "hidden_by": null, + "original_name": "Main Meter Consumed Energy", + "platform": "sensor", + "state": "153921.7", + "state_class": "total_increasing", + "translation_key": "main_meter_consumed_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_main_meter_net_energy": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_main_meter_net_energy", + "hidden_by": null, + "original_name": "Main Meter Net Energy", + "platform": "sensor", + "state": null, + "state_class": "total", + "translation_key": "main_meter_net_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_main_meter_produced_energy": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_main_meter_produced_energy", + "hidden_by": null, + "original_name": "Main Meter Produced Energy", + "platform": "sensor", + "state": "0.0", + "state_class": "total_increasing", + "translation_key": "main_meter_produced_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_main_relay_state": { + "device": "xg-1155-18fkf", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_main_relay_state", + "hidden_by": null, + "original_name": "Main Relay State", + "platform": "sensor", + "state": "unknown", + "state_class": null, + "translation_key": "main_relay_state", + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_panel_status": { + "device": "xg-1155-18fkf", + "device_class": "connectivity", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_panel_status", + "hidden_by": null, + "original_name": "Panel Status", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "panel_status", + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_pcs_active": { + "device": "xg-1155-18fkf", + "device_class": "running", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_pcs_active", + "hidden_by": null, + "original_name": "PCS Active", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "pcs_active", + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_pcs_binding_constraint": { + "device": "xg-1155-18fkf", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_binding_constraint", + "hidden_by": null, + "original_name": "Binding Constraint", + "platform": "sensor", + "state": "fsr", + "state_class": null, + "translation_key": "pcs_binding_constraint", + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_pcs_import_limit": { + "device": "xg-1155-18fkf", + "device_class": "current", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_import_limit", + "hidden_by": null, + "original_name": "Import Limit", + "platform": "sensor", + "state": "100.0", + "state_class": "measurement", + "translation_key": "pcs_import_limit", + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_relay_circuit-17": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_breaker_1_breaker", + "hidden_by": null, + "original_name": "breaker-1 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_relay_circuit-18": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_breaker_2_breaker", + "hidden_by": null, + "original_name": "breaker-2 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_relay_circuit-19": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_breaker_3_breaker", + "hidden_by": null, + "original_name": "breaker-3 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_relay_circuit-20": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_breaker_4_breaker", + "hidden_by": null, + "original_name": "breaker-4 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_relay_circuit-21": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_breaker_5_breaker", + "hidden_by": null, + "original_name": "breaker-5 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_relay_circuit-22": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_breaker_6_breaker", + "hidden_by": null, + "original_name": "breaker-6 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_relay_circuit-23": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_breaker_7_breaker", + "hidden_by": null, + "original_name": "breaker-7 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_relay_circuit-24": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_breaker_8_breaker", + "hidden_by": null, + "original_name": "breaker-8 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_relay_circuit-25": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_breaker_9_breaker", + "hidden_by": null, + "original_name": "breaker-9 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_relay_circuit-26": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_breaker_10_breaker", + "hidden_by": null, + "original_name": "breaker-10 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_relay_circuit-27": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_breaker_11_breaker", + "hidden_by": null, + "original_name": "breaker-11 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_relay_circuit-28": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_breaker_12_breaker", + "hidden_by": null, + "original_name": "breaker-12 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_relay_circuit-29": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_breaker_13_breaker", + "hidden_by": null, + "original_name": "breaker-13 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_relay_circuit-30": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_breaker_14_breaker", + "hidden_by": null, + "original_name": "breaker-14 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_relay_circuit-31": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_breaker_15_breaker", + "hidden_by": null, + "original_name": "breaker-15 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_relay_circuit-32": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_breaker_16_breaker", + "hidden_by": null, + "original_name": "breaker-16 Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_remote-ct-3_current": { + "device": "xg-1155-18fkf", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_remote_ct_3_current", + "hidden_by": null, + "original_name": "Remote CT 3 Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_remote-ct-3_energy_consumed": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_remote_ct_3_consumed_energy", + "hidden_by": null, + "original_name": "Remote CT 3 Consumed Energy", + "platform": "sensor", + "state": "2202.2", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_remote-ct-3_energy_net": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_remote_ct_3_net_energy", + "hidden_by": null, + "original_name": "Remote CT 3 Net Energy", + "platform": "sensor", + "state": "1517.0", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_remote-ct-3_energy_produced": { + "device": "xg-1155-18fkf", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_remote_ct_3_produced_energy", + "hidden_by": null, + "original_name": "Remote CT 3 Produced Energy", + "platform": "sensor", + "state": "685.2", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1155-18fkf_remote-ct-3_power": { + "device": "xg-1155-18fkf", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_remote_ct_3_power", + "hidden_by": null, + "original_name": "Remote CT 3 Power", + "platform": "sensor", + "state": "0.2", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-1155-18fkf_select_circuit-17": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_breaker_1_circuit_priority", + "hidden_by": null, + "original_name": "breaker-1 Circuit Priority", + "platform": "select", + "state": "unknown", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_select_circuit-18": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_breaker_2_circuit_priority", + "hidden_by": null, + "original_name": "breaker-2 Circuit Priority", + "platform": "select", + "state": "unknown", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_select_circuit-19": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_breaker_3_circuit_priority", + "hidden_by": null, + "original_name": "breaker-3 Circuit Priority", + "platform": "select", + "state": "unknown", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_select_circuit-20": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_breaker_4_circuit_priority", + "hidden_by": null, + "original_name": "breaker-4 Circuit Priority", + "platform": "select", + "state": "unknown", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_select_circuit-21": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_breaker_5_circuit_priority", + "hidden_by": null, + "original_name": "breaker-5 Circuit Priority", + "platform": "select", + "state": "unknown", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_select_circuit-22": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_breaker_6_circuit_priority", + "hidden_by": null, + "original_name": "breaker-6 Circuit Priority", + "platform": "select", + "state": "unknown", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_select_circuit-23": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_breaker_7_circuit_priority", + "hidden_by": null, + "original_name": "breaker-7 Circuit Priority", + "platform": "select", + "state": "unknown", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_select_circuit-24": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_breaker_8_circuit_priority", + "hidden_by": null, + "original_name": "breaker-8 Circuit Priority", + "platform": "select", + "state": "unknown", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_select_circuit-25": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_breaker_9_circuit_priority", + "hidden_by": null, + "original_name": "breaker-9 Circuit Priority", + "platform": "select", + "state": "unknown", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_select_circuit-26": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_breaker_10_circuit_priority", + "hidden_by": null, + "original_name": "breaker-10 Circuit Priority", + "platform": "select", + "state": "unknown", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_select_circuit-27": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_breaker_11_circuit_priority", + "hidden_by": null, + "original_name": "breaker-11 Circuit Priority", + "platform": "select", + "state": "unknown", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_select_circuit-28": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_breaker_12_circuit_priority", + "hidden_by": null, + "original_name": "breaker-12 Circuit Priority", + "platform": "select", + "state": "unknown", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_select_circuit-29": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_breaker_13_circuit_priority", + "hidden_by": null, + "original_name": "breaker-13 Circuit Priority", + "platform": "select", + "state": "unknown", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_select_circuit-30": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_breaker_14_circuit_priority", + "hidden_by": null, + "original_name": "breaker-14 Circuit Priority", + "platform": "select", + "state": "unknown", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_select_circuit-31": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_breaker_15_circuit_priority", + "hidden_by": null, + "original_name": "breaker-15 Circuit Priority", + "platform": "select", + "state": "unknown", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_select_circuit-32": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_breaker_16_circuit_priority", + "hidden_by": null, + "original_name": "breaker-16 Circuit Priority", + "platform": "select", + "state": "unknown", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_site_power": { + "device": "xg-1155-18fkf", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_site_power", + "hidden_by": null, + "original_name": "Site Power", + "platform": "sensor", + "state": "-8.8", + "state_class": "measurement", + "translation_key": "site_power", + "unit_of_measurement": "W" + }, + "span_xg-1155-18fkf_software_version": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_software_version", + "hidden_by": null, + "original_name": "Software Version", + "platform": "sensor", + "state": "spanos3/r202639/03", + "state_class": null, + "translation_key": "software_version", + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_upstream_l1_current": { + "device": "xg-1155-18fkf", + "device_class": "current", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_upstream_l1_current", + "hidden_by": null, + "original_name": "Upstream L1 Current", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "upstream_l1_current", + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_upstream_l2_current": { + "device": "xg-1155-18fkf", + "device_class": "current", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_upstream_l2_current", + "hidden_by": null, + "original_name": "Upstream L2 Current", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "upstream_l2_current", + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_upstream_protection_rating": { + "device": "xg-1155-18fkf", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_upstream_protection_rating", + "hidden_by": null, + "original_name": "Upstream Protection Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "upstream_protection_rating", + "unit_of_measurement": "A" + }, + "span_xg-1155-18fkf_vendor_cloud": { + "device": "xg-1155-18fkf", + "device_class": "enum", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_vendor_cloud", + "hidden_by": null, + "original_name": "Vendor Cloud", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "vendor_cloud", + "unit_of_measurement": null + }, + "span_xg-1155-18fkf_wlanLink": { + "device": "xg-1155-18fkf", + "device_class": "connectivity", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_wi_fi_link", + "hidden_by": null, + "original_name": "Wi-Fi Link", + "platform": "binary_sensor", + "state": "off", + "state_class": null, + "translation_key": "wifi_link", + "unit_of_measurement": null + } + } +} diff --git a/tests/fixtures/expected_entities/r202639-c.json b/tests/fixtures/expected_entities/r202639-c.json new file mode 100644 index 0000000..a1e23a4 --- /dev/null +++ b/tests/fixtures/expected_entities/r202639-c.json @@ -0,0 +1,1237 @@ +{ + "devices": { + "xg-7814-15i6h": { + "hw_version": "3.0", + "manufacturer": "SPAN", + "model": "MAIN_40", + "name": "Span Panel", + "serial_number": null, + "sw_version": "spanos3/r202639/03", + "via_device": null + }, + "xg-7814-15i6h_bess": { + "hw_version": null, + "manufacturer": "Tesla", + "model": "Powerwall 3", + "name": "Span Panel Battery", + "serial_number": "tg099828190yv6", + "sw_version": null, + "via_device": "xg-7814-15i6h" + }, + "xg-7814-15i6h_mid": { + "hw_version": null, + "manufacturer": "Tesla", + "model": "Microgrid Interconnect Device", + "name": "Span Panel Microgrid Interconnect", + "serial_number": "tg607533669hu1-esz", + "sw_version": null, + "via_device": "xg-7814-15i6h" + } + }, + "entities": { + "span_xg-7814-15i6h_battery_power": { + "device": "xg-7814-15i6h_bess", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_battery_battery_power", + "hidden_by": null, + "original_name": "Battery Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": "battery_power", + "unit_of_measurement": "W" + }, + "span_xg-7814-15i6h_bess_communication_state": { + "device": "xg-7814-15i6h_bess", + "device_class": "enum", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_communication_state", + "hidden_by": null, + "original_name": "Communication State", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "bess_communication_state", + "unit_of_measurement": null + }, + "span_xg-7814-15i6h_bess_connected": { + "device": "xg-7814-15i6h_bess", + "device_class": "connectivity", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_battery_bess_connected", + "hidden_by": null, + "original_name": "BESS Connected", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "bess_connected", + "unit_of_measurement": null + }, + "span_xg-7814-15i6h_bess_firmware_version": { + "device": "xg-7814-15i6h_bess", + "device_class": null, + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_firmware_version", + "hidden_by": null, + "original_name": "Firmware Version", + "platform": "sensor", + "state": "unknown", + "state_class": null, + "translation_key": "bess_firmware_version", + "unit_of_measurement": null + }, + "span_xg-7814-15i6h_bess_meter_power": { + "device": "xg-7814-15i6h_bess", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_battery_meter_power", + "hidden_by": null, + "original_name": "Meter Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": "bess_meter_power", + "unit_of_measurement": "W" + }, + "span_xg-7814-15i6h_bess_model": { + "device": "xg-7814-15i6h_bess", + "device_class": null, + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_model", + "hidden_by": null, + "original_name": "Model", + "platform": "sensor", + "state": "Powerwall 3", + "state_class": null, + "translation_key": "bess_model", + "unit_of_measurement": null + }, + "span_xg-7814-15i6h_bess_nameplate_capacity": { + "device": "xg-7814-15i6h_bess", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_nameplate_capacity", + "hidden_by": null, + "original_name": "Nameplate Capacity", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "bess_nameplate_capacity", + "unit_of_measurement": "kWh" + }, + "span_xg-7814-15i6h_bess_part_number": { + "device": "xg-7814-15i6h_bess", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_part_number", + "hidden_by": null, + "original_name": "Part Number", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "bess_part_number", + "unit_of_measurement": null + }, + "span_xg-7814-15i6h_bess_serial_number": { + "device": "xg-7814-15i6h_bess", + "device_class": null, + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_serial_number", + "hidden_by": null, + "original_name": "Serial Number", + "platform": "sensor", + "state": "tg099828190yv6", + "state_class": null, + "translation_key": "bess_serial_number", + "unit_of_measurement": null + }, + "span_xg-7814-15i6h_bess_soe_kwh": { + "device": "xg-7814-15i6h_bess", + "device_class": "energy_storage", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_state_of_energy", + "hidden_by": null, + "original_name": "State of Energy", + "platform": "sensor", + "state": "7.2", + "state_class": "measurement", + "translation_key": "bess_soe_kwh", + "unit_of_measurement": "kWh" + }, + "span_xg-7814-15i6h_bess_vendor": { + "device": "xg-7814-15i6h_bess", + "device_class": null, + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_vendor", + "hidden_by": null, + "original_name": "Vendor", + "platform": "sensor", + "state": "Tesla", + "state_class": null, + "translation_key": "bess_vendor", + "unit_of_measurement": null + }, + "span_xg-7814-15i6h_busbar_current": { + "device": "xg-7814-15i6h", + "device_class": "current", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_busbar_current", + "hidden_by": null, + "original_name": "Busbar Current", + "platform": "sensor", + "state": "1.2", + "state_class": "measurement", + "translation_key": "busbar_current", + "unit_of_measurement": "A" + }, + "span_xg-7814-15i6h_circuit-1_breaker_rating": { + "device": "xg-7814-15i6h", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_bedroom_lights_breaker_rating", + "hidden_by": null, + "original_name": "Bedroom / Lights Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-7814-15i6h_circuit-1_current": { + "device": "xg-7814-15i6h", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bedroom_lights_current", + "hidden_by": null, + "original_name": "Bedroom / Lights Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-7814-15i6h_circuit-1_energy_consumed": { + "device": "xg-7814-15i6h", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bedroom_lights_consumed_energy", + "hidden_by": null, + "original_name": "Bedroom / Lights Consumed Energy", + "platform": "sensor", + "state": "184509.3", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-7814-15i6h_circuit-1_energy_net": { + "device": "xg-7814-15i6h", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bedroom_lights_net_energy", + "hidden_by": null, + "original_name": "Bedroom / Lights Net Energy", + "platform": "sensor", + "state": "184082.1", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-7814-15i6h_circuit-1_energy_produced": { + "device": "xg-7814-15i6h", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bedroom_lights_produced_energy", + "hidden_by": null, + "original_name": "Bedroom / Lights Produced Energy", + "platform": "sensor", + "state": "427.2", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-7814-15i6h_circuit-1_power": { + "device": "xg-7814-15i6h", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bedroom_lights_power", + "hidden_by": null, + "original_name": "Bedroom / Lights Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-7814-15i6h_circuit-2_breaker_rating": { + "device": "xg-7814-15i6h", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_bathroom_outlets_breaker_rating", + "hidden_by": null, + "original_name": "Bathroom / Outlets Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-7814-15i6h_circuit-2_current": { + "device": "xg-7814-15i6h", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bathroom_outlets_current", + "hidden_by": null, + "original_name": "Bathroom / Outlets Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-7814-15i6h_circuit-2_energy_consumed": { + "device": "xg-7814-15i6h", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bathroom_outlets_consumed_energy", + "hidden_by": null, + "original_name": "Bathroom / Outlets Consumed Energy", + "platform": "sensor", + "state": "4493.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-7814-15i6h_circuit-2_energy_net": { + "device": "xg-7814-15i6h", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bathroom_outlets_net_energy", + "hidden_by": null, + "original_name": "Bathroom / Outlets Net Energy", + "platform": "sensor", + "state": "4385.8", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-7814-15i6h_circuit-2_energy_produced": { + "device": "xg-7814-15i6h", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bathroom_outlets_produced_energy", + "hidden_by": null, + "original_name": "Bathroom / Outlets Produced Energy", + "platform": "sensor", + "state": "108.1", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-7814-15i6h_circuit-2_power": { + "device": "xg-7814-15i6h", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bathroom_outlets_power", + "hidden_by": null, + "original_name": "Bathroom / Outlets Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-7814-15i6h_circuit-3_breaker_rating": { + "device": "xg-7814-15i6h", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_living_room_lights_breaker_rating", + "hidden_by": null, + "original_name": "Living room / Lights Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-7814-15i6h_circuit-3_current": { + "device": "xg-7814-15i6h", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_living_room_lights_current", + "hidden_by": null, + "original_name": "Living room / Lights Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-7814-15i6h_circuit-3_energy_consumed": { + "device": "xg-7814-15i6h", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_living_room_lights_consumed_energy", + "hidden_by": null, + "original_name": "Living room / Lights Consumed Energy", + "platform": "sensor", + "state": "17866.6", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-7814-15i6h_circuit-3_energy_net": { + "device": "xg-7814-15i6h", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_living_room_lights_net_energy", + "hidden_by": null, + "original_name": "Living room / Lights Net Energy", + "platform": "sensor", + "state": "17755.3", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-7814-15i6h_circuit-3_energy_produced": { + "device": "xg-7814-15i6h", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_living_room_lights_produced_energy", + "hidden_by": null, + "original_name": "Living room / Lights Produced Energy", + "platform": "sensor", + "state": "111.3", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-7814-15i6h_circuit-3_power": { + "device": "xg-7814-15i6h", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_living_room_lights_power", + "hidden_by": null, + "original_name": "Living room / Lights Power", + "platform": "sensor", + "state": "0.5", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-7814-15i6h_circuit-4_breaker_rating": { + "device": "xg-7814-15i6h", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_other_breaker_rating", + "hidden_by": null, + "original_name": "Other Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-7814-15i6h_circuit-4_current": { + "device": "xg-7814-15i6h", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_other_current", + "hidden_by": null, + "original_name": "Other Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-7814-15i6h_circuit-4_energy_consumed": { + "device": "xg-7814-15i6h", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_other_consumed_energy", + "hidden_by": null, + "original_name": "Other Consumed Energy", + "platform": "sensor", + "state": "116241.8", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-7814-15i6h_circuit-4_energy_net": { + "device": "xg-7814-15i6h", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_other_net_energy", + "hidden_by": null, + "original_name": "Other Net Energy", + "platform": "sensor", + "state": "115483.1", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-7814-15i6h_circuit-4_energy_produced": { + "device": "xg-7814-15i6h", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_other_produced_energy", + "hidden_by": null, + "original_name": "Other Produced Energy", + "platform": "sensor", + "state": "758.7", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-7814-15i6h_circuit-4_power": { + "device": "xg-7814-15i6h", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_other_power", + "hidden_by": null, + "original_name": "Other Power", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-7814-15i6h_circuit-5_breaker_rating": { + "device": "xg-7814-15i6h", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_tesla_breaker_rating", + "hidden_by": null, + "original_name": "Tesla Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-7814-15i6h_circuit-5_current": { + "device": "xg-7814-15i6h", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_tesla_current", + "hidden_by": null, + "original_name": "Tesla Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-7814-15i6h_circuit-5_energy_consumed": { + "device": "xg-7814-15i6h", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_tesla_consumed_energy", + "hidden_by": null, + "original_name": "Tesla Consumed Energy", + "platform": "sensor", + "state": "139893.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-7814-15i6h_circuit-5_energy_net": { + "device": "xg-7814-15i6h", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_tesla_net_energy", + "hidden_by": null, + "original_name": "Tesla Net Energy", + "platform": "sensor", + "state": "-19816.8", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-7814-15i6h_circuit-5_energy_produced": { + "device": "xg-7814-15i6h", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_tesla_produced_energy", + "hidden_by": null, + "original_name": "Tesla Produced Energy", + "platform": "sensor", + "state": "159710.3", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-7814-15i6h_circuit-5_power": { + "device": "xg-7814-15i6h", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_tesla_power", + "hidden_by": null, + "original_name": "Tesla Power", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-7814-15i6h_current_power": { + "device": "xg-7814-15i6h", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_current_power", + "hidden_by": null, + "original_name": "Current Power", + "platform": "sensor", + "state": "13.5", + "state_class": "measurement", + "translation_key": "instant_grid_power", + "unit_of_measurement": "W" + }, + "span_xg-7814-15i6h_current_run_config": { + "device": "xg-7814-15i6h", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_current_run_config", + "hidden_by": null, + "original_name": "Current Run Config", + "platform": "sensor", + "state": "panel_on_grid", + "state_class": null, + "translation_key": "current_run_config", + "unit_of_measurement": null + }, + "span_xg-7814-15i6h_doorState": { + "device": "xg-7814-15i6h", + "device_class": "tamper", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_door_state", + "hidden_by": null, + "original_name": "Door State", + "platform": "binary_sensor", + "state": "off", + "state_class": null, + "translation_key": "door_state", + "unit_of_measurement": null + }, + "span_xg-7814-15i6h_downstream_l1_current": { + "device": "xg-7814-15i6h", + "device_class": "current", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_downstream_l1_current", + "hidden_by": null, + "original_name": "Downstream L1 Current", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "downstream_l1_current", + "unit_of_measurement": "A" + }, + "span_xg-7814-15i6h_downstream_l2_current": { + "device": "xg-7814-15i6h", + "device_class": "current", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_downstream_l2_current", + "hidden_by": null, + "original_name": "Downstream L2 Current", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "downstream_l2_current", + "unit_of_measurement": "A" + }, + "span_xg-7814-15i6h_dsm_grid_state": { + "device": "xg-7814-15i6h", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_dsm_grid_state", + "hidden_by": null, + "original_name": "DSM Grid State", + "platform": "sensor", + "state": "dsm_on_grid", + "state_class": null, + "translation_key": "dsm_grid_state", + "unit_of_measurement": null + }, + "span_xg-7814-15i6h_dsm_state": { + "device": "xg-7814-15i6h", + "device_class": "enum", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_dsm_state", + "hidden_by": null, + "original_name": "DSM State", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "dsm_state", + "unit_of_measurement": null + }, + "span_xg-7814-15i6h_eth0Link": { + "device": "xg-7814-15i6h", + "device_class": "connectivity", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_ethernet_link", + "hidden_by": null, + "original_name": "Ethernet Link", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "ethernet_link", + "unit_of_measurement": null + }, + "span_xg-7814-15i6h_feed_through_consumed_energy": { + "device": "xg-7814-15i6h", + "device_class": "energy", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_feed_through_consumed_energy", + "hidden_by": null, + "original_name": "Feed Through Consumed Energy", + "platform": "sensor", + "state": null, + "state_class": "total", + "translation_key": "feedthrough_consumed_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-7814-15i6h_feed_through_net_energy": { + "device": "xg-7814-15i6h", + "device_class": "energy", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_feed_through_net_energy", + "hidden_by": null, + "original_name": "Feed Through Net Energy", + "platform": "sensor", + "state": null, + "state_class": "total", + "translation_key": "feedthrough_net_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-7814-15i6h_feed_through_power": { + "device": "xg-7814-15i6h", + "device_class": "power", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_feed_through_power", + "hidden_by": null, + "original_name": "Feed Through Power", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "feedthrough_power", + "unit_of_measurement": "W" + }, + "span_xg-7814-15i6h_feed_through_produced_energy": { + "device": "xg-7814-15i6h", + "device_class": "energy", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_feed_through_produced_energy", + "hidden_by": null, + "original_name": "Feed Through Produced Energy", + "platform": "sensor", + "state": null, + "state_class": "total", + "translation_key": "feedthrough_produced_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-7814-15i6h_frequency": { + "device": "xg-7814-15i6h", + "device_class": "frequency", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_frequency", + "hidden_by": null, + "original_name": "Frequency", + "platform": "sensor", + "state": "60.01", + "state_class": "measurement", + "translation_key": "frequency", + "unit_of_measurement": "Hz" + }, + "span_xg-7814-15i6h_gfe_override": { + "device": "xg-7814-15i6h", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "button.span_panel_gfe_override_grid_connected", + "hidden_by": null, + "original_name": "GFE Override: Grid Connected", + "platform": "button", + "state": "unavailable", + "state_class": null, + "translation_key": "gfe_override", + "unit_of_measurement": null + }, + "span_xg-7814-15i6h_grid_forming_entity": { + "device": "xg-7814-15i6h", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_grid_forming_entity", + "hidden_by": null, + "original_name": "Grid Forming Entity", + "platform": "sensor", + "state": "grid", + "state_class": null, + "translation_key": "grid_forming_entity", + "unit_of_measurement": null + }, + "span_xg-7814-15i6h_grid_islandable": { + "device": "xg-7814-15i6h", + "device_class": "power", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_grid_islandable", + "hidden_by": null, + "original_name": "Grid Islandable", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "grid_islandable", + "unit_of_measurement": null + }, + "span_xg-7814-15i6h_grid_power_flow": { + "device": "xg-7814-15i6h", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_grid_power", + "hidden_by": null, + "original_name": "Grid Power", + "platform": "sensor", + "state": "32.0", + "state_class": "measurement", + "translation_key": "grid_power_flow", + "unit_of_measurement": "W" + }, + "span_xg-7814-15i6h_l1_voltage": { + "device": "xg-7814-15i6h", + "device_class": "voltage", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_l1_voltage", + "hidden_by": null, + "original_name": "L1 Voltage", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "l1_voltage", + "unit_of_measurement": "V" + }, + "span_xg-7814-15i6h_l2_voltage": { + "device": "xg-7814-15i6h", + "device_class": "voltage", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_l2_voltage", + "hidden_by": null, + "original_name": "L2 Voltage", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "l2_voltage", + "unit_of_measurement": "V" + }, + "span_xg-7814-15i6h_main_breaker_rating": { + "device": "xg-7814-15i6h", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_main_breaker_rating", + "hidden_by": null, + "original_name": "Main Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "main_breaker_rating", + "unit_of_measurement": "A" + }, + "span_xg-7814-15i6h_main_meter_consumed_energy": { + "device": "xg-7814-15i6h", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_main_meter_consumed_energy", + "hidden_by": null, + "original_name": "Main Meter Consumed Energy", + "platform": "sensor", + "state": "1763610.6", + "state_class": "total_increasing", + "translation_key": "main_meter_consumed_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-7814-15i6h_main_meter_net_energy": { + "device": "xg-7814-15i6h", + "device_class": "energy", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_main_meter_net_energy", + "hidden_by": null, + "original_name": "Main Meter Net Energy", + "platform": "sensor", + "state": null, + "state_class": "total", + "translation_key": "main_meter_net_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-7814-15i6h_main_meter_produced_energy": { + "device": "xg-7814-15i6h", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_main_meter_produced_energy", + "hidden_by": null, + "original_name": "Main Meter Produced Energy", + "platform": "sensor", + "state": "71227.3", + "state_class": "total_increasing", + "translation_key": "main_meter_produced_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-7814-15i6h_main_relay_state": { + "device": "xg-7814-15i6h", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_main_relay_state", + "hidden_by": null, + "original_name": "Main Relay State", + "platform": "sensor", + "state": "unknown", + "state_class": null, + "translation_key": "main_relay_state", + "unit_of_measurement": null + }, + "span_xg-7814-15i6h_mid_mid_grid_state": { + "device": "xg-7814-15i6h_mid", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_microgrid_interconnect_grid_state", + "hidden_by": null, + "original_name": "Grid State", + "platform": "sensor", + "state": "unknown", + "state_class": null, + "translation_key": "mid_grid_state", + "unit_of_measurement": null + }, + "span_xg-7814-15i6h_panel_status": { + "device": "xg-7814-15i6h", + "device_class": "connectivity", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_panel_status", + "hidden_by": null, + "original_name": "Panel Status", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "panel_status", + "unit_of_measurement": null + }, + "span_xg-7814-15i6h_pcs_active": { + "device": "xg-7814-15i6h", + "device_class": "running", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_pcs_active", + "hidden_by": null, + "original_name": "PCS Active", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "pcs_active", + "unit_of_measurement": null + }, + "span_xg-7814-15i6h_pcs_binding_constraint": { + "device": "xg-7814-15i6h", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_binding_constraint", + "hidden_by": null, + "original_name": "Binding Constraint", + "platform": "sensor", + "state": "fsr", + "state_class": null, + "translation_key": "pcs_binding_constraint", + "unit_of_measurement": null + }, + "span_xg-7814-15i6h_pcs_import_limit": { + "device": "xg-7814-15i6h", + "device_class": "current", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_import_limit", + "hidden_by": null, + "original_name": "Import Limit", + "platform": "sensor", + "state": "90.0", + "state_class": "measurement", + "translation_key": "pcs_import_limit", + "unit_of_measurement": "A" + }, + "span_xg-7814-15i6h_relay_circuit-1": { + "device": "xg-7814-15i6h", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_bedroom_lights_breaker", + "hidden_by": null, + "original_name": "Bedroom / Lights Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-7814-15i6h_relay_circuit-2": { + "device": "xg-7814-15i6h", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_bathroom_outlets_breaker", + "hidden_by": null, + "original_name": "Bathroom / Outlets Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-7814-15i6h_relay_circuit-3": { + "device": "xg-7814-15i6h", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_living_room_lights_breaker", + "hidden_by": null, + "original_name": "Living room / Lights Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-7814-15i6h_relay_circuit-4": { + "device": "xg-7814-15i6h", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_other_breaker", + "hidden_by": null, + "original_name": "Other Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-7814-15i6h_select_circuit-1": { + "device": "xg-7814-15i6h", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_bedroom_lights_circuit_priority", + "hidden_by": null, + "original_name": "Bedroom / Lights Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-7814-15i6h_select_circuit-2": { + "device": "xg-7814-15i6h", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_bathroom_outlets_circuit_priority", + "hidden_by": null, + "original_name": "Bathroom / Outlets Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-7814-15i6h_select_circuit-3": { + "device": "xg-7814-15i6h", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_living_room_lights_circuit_priority", + "hidden_by": null, + "original_name": "Living room / Lights Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-7814-15i6h_site_power": { + "device": "xg-7814-15i6h", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_site_power", + "hidden_by": null, + "original_name": "Site Power", + "platform": "sensor", + "state": "33.5", + "state_class": "measurement", + "translation_key": "site_power", + "unit_of_measurement": "W" + }, + "span_xg-7814-15i6h_software_version": { + "device": "xg-7814-15i6h", + "device_class": null, + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_software_version", + "hidden_by": null, + "original_name": "Software Version", + "platform": "sensor", + "state": "spanos3/r202639/03", + "state_class": null, + "translation_key": "software_version", + "unit_of_measurement": null + }, + "span_xg-7814-15i6h_storage_battery_percentage": { + "device": "xg-7814-15i6h_bess", + "device_class": "battery", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_battery_battery_level", + "hidden_by": null, + "original_name": "Battery Level", + "platform": "sensor", + "state": "53.4", + "state_class": "measurement", + "translation_key": "battery_level", + "unit_of_measurement": "%" + }, + "span_xg-7814-15i6h_upstream_l1_current": { + "device": "xg-7814-15i6h", + "device_class": "current", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_upstream_l1_current", + "hidden_by": null, + "original_name": "Upstream L1 Current", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "upstream_l1_current", + "unit_of_measurement": "A" + }, + "span_xg-7814-15i6h_upstream_l2_current": { + "device": "xg-7814-15i6h", + "device_class": "current", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_upstream_l2_current", + "hidden_by": null, + "original_name": "Upstream L2 Current", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "upstream_l2_current", + "unit_of_measurement": "A" + }, + "span_xg-7814-15i6h_upstream_protection_rating": { + "device": "xg-7814-15i6h", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_upstream_protection_rating", + "hidden_by": null, + "original_name": "Upstream Protection Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "upstream_protection_rating", + "unit_of_measurement": "A" + }, + "span_xg-7814-15i6h_vendor_cloud": { + "device": "xg-7814-15i6h", + "device_class": "enum", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_vendor_cloud", + "hidden_by": null, + "original_name": "Vendor Cloud", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "vendor_cloud", + "unit_of_measurement": null + }, + "span_xg-7814-15i6h_wlanLink": { + "device": "xg-7814-15i6h", + "device_class": "connectivity", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_wi_fi_link", + "hidden_by": null, + "original_name": "Wi-Fi Link", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "wifi_link", + "unit_of_measurement": null + } + } +} diff --git a/tests/fixtures/expected_entities/r202639-d.json b/tests/fixtures/expected_entities/r202639-d.json new file mode 100644 index 0000000..c51572b --- /dev/null +++ b/tests/fixtures/expected_entities/r202639-d.json @@ -0,0 +1,1554 @@ +{ + "devices": { + "xg-1334-066e8": { + "hw_version": "3.0", + "manufacturer": "SPAN", + "model": "MLO_24", + "name": "Span Panel", + "serial_number": null, + "sw_version": "spanos3/r202639/03", + "via_device": null + }, + "xg-1334-066e8_bess": { + "hw_version": null, + "manufacturer": "Lucid", + "model": "Battery Storage", + "name": "Span Panel Battery", + "serial_number": "6689454643", + "sw_version": null, + "via_device": "xg-1334-066e8" + }, + "xg-1334-066e8_evse_dt-5599-00321": { + "hw_version": null, + "manufacturer": "SPAN", + "model": "SPAN Drive", + "name": "Span Panel EV Charger (FLEX⁺)", + "serial_number": "dt-5599-00321", + "sw_version": "001.001.011.980bd33.8a49f9f1.b1c7ea7d.A", + "via_device": "xg-1334-066e8" + }, + "xg-1334-066e8_mid": { + "hw_version": null, + "manufacturer": "Lucid", + "model": "Microgrid Interconnect Device", + "name": "Span Panel Microgrid Interconnect", + "serial_number": "0751202395-uex", + "sw_version": null, + "via_device": "xg-1334-066e8" + } + }, + "entities": { + "span_xg-1334-066e8_battery_power": { + "device": "xg-1334-066e8_bess", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_battery_battery_power", + "hidden_by": null, + "original_name": "Battery Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": "battery_power", + "unit_of_measurement": "W" + }, + "span_xg-1334-066e8_bess_communication_state": { + "device": "xg-1334-066e8_bess", + "device_class": "enum", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_communication_state", + "hidden_by": null, + "original_name": "Communication State", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "bess_communication_state", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_bess_connected": { + "device": "xg-1334-066e8_bess", + "device_class": "connectivity", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_battery_bess_connected", + "hidden_by": null, + "original_name": "BESS Connected", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "bess_connected", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_bess_firmware_version": { + "device": "xg-1334-066e8_bess", + "device_class": null, + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_firmware_version", + "hidden_by": null, + "original_name": "Firmware Version", + "platform": "sensor", + "state": "unknown", + "state_class": null, + "translation_key": "bess_firmware_version", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_bess_meter_power": { + "device": "xg-1334-066e8_bess", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_battery_meter_power", + "hidden_by": null, + "original_name": "Meter Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": "bess_meter_power", + "unit_of_measurement": "W" + }, + "span_xg-1334-066e8_bess_model": { + "device": "xg-1334-066e8_bess", + "device_class": null, + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_model", + "hidden_by": null, + "original_name": "Model", + "platform": "sensor", + "state": "unknown", + "state_class": null, + "translation_key": "bess_model", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_bess_nameplate_capacity": { + "device": "xg-1334-066e8_bess", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_nameplate_capacity", + "hidden_by": null, + "original_name": "Nameplate Capacity", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "bess_nameplate_capacity", + "unit_of_measurement": "kWh" + }, + "span_xg-1334-066e8_bess_part_number": { + "device": "xg-1334-066e8_bess", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_part_number", + "hidden_by": null, + "original_name": "Part Number", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "bess_part_number", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_bess_serial_number": { + "device": "xg-1334-066e8_bess", + "device_class": null, + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_serial_number", + "hidden_by": null, + "original_name": "Serial Number", + "platform": "sensor", + "state": "6689454643", + "state_class": null, + "translation_key": "bess_serial_number", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_bess_soe_kwh": { + "device": "xg-1334-066e8_bess", + "device_class": "energy_storage", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_state_of_energy", + "hidden_by": null, + "original_name": "State of Energy", + "platform": "sensor", + "state": "unknown", + "state_class": "measurement", + "translation_key": "bess_soe_kwh", + "unit_of_measurement": "kWh" + }, + "span_xg-1334-066e8_bess_vendor": { + "device": "xg-1334-066e8_bess", + "device_class": null, + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_battery_vendor", + "hidden_by": null, + "original_name": "Vendor", + "platform": "sensor", + "state": "Lucid", + "state_class": null, + "translation_key": "bess_vendor", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_busbar_current": { + "device": "xg-1334-066e8", + "device_class": "current", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_busbar_current", + "hidden_by": null, + "original_name": "Busbar Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": "busbar_current", + "unit_of_measurement": "A" + }, + "span_xg-1334-066e8_circuit-1_breaker_rating": { + "device": "xg-1334-066e8", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_bedroom_kitchen_lights_breaker_rating", + "hidden_by": null, + "original_name": "Bedroom, Kitchen / Lights Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1334-066e8_circuit-1_current": { + "device": "xg-1334-066e8", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bedroom_kitchen_lights_current", + "hidden_by": null, + "original_name": "Bedroom, Kitchen / Lights Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1334-066e8_circuit-1_energy_consumed": { + "device": "xg-1334-066e8", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bedroom_kitchen_lights_consumed_energy", + "hidden_by": null, + "original_name": "Bedroom, Kitchen / Lights Consumed Energy", + "platform": "sensor", + "state": "8106.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1334-066e8_circuit-1_energy_net": { + "device": "xg-1334-066e8", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bedroom_kitchen_lights_net_energy", + "hidden_by": null, + "original_name": "Bedroom, Kitchen / Lights Net Energy", + "platform": "sensor", + "state": "7704.5", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1334-066e8_circuit-1_energy_produced": { + "device": "xg-1334-066e8", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bedroom_kitchen_lights_produced_energy", + "hidden_by": null, + "original_name": "Bedroom, Kitchen / Lights Produced Energy", + "platform": "sensor", + "state": "402.0", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1334-066e8_circuit-1_power": { + "device": "xg-1334-066e8", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bedroom_kitchen_lights_power", + "hidden_by": null, + "original_name": "Bedroom, Kitchen / Lights Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-1334-066e8_circuit-2_breaker_rating": { + "device": "xg-1334-066e8", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_office_outlets_breaker_rating", + "hidden_by": null, + "original_name": "Office / Outlets Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1334-066e8_circuit-2_current": { + "device": "xg-1334-066e8", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_office_outlets_current", + "hidden_by": null, + "original_name": "Office / Outlets Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1334-066e8_circuit-2_energy_consumed": { + "device": "xg-1334-066e8", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_office_outlets_consumed_energy", + "hidden_by": null, + "original_name": "Office / Outlets Consumed Energy", + "platform": "sensor", + "state": "96785.1", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1334-066e8_circuit-2_energy_net": { + "device": "xg-1334-066e8", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_office_outlets_net_energy", + "hidden_by": null, + "original_name": "Office / Outlets Net Energy", + "platform": "sensor", + "state": "96369.2", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1334-066e8_circuit-2_energy_produced": { + "device": "xg-1334-066e8", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_office_outlets_produced_energy", + "hidden_by": null, + "original_name": "Office / Outlets Produced Energy", + "platform": "sensor", + "state": "415.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1334-066e8_circuit-2_power": { + "device": "xg-1334-066e8", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_office_outlets_power", + "hidden_by": null, + "original_name": "Office / Outlets Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-1334-066e8_circuit-3_breaker_rating": { + "device": "xg-1334-066e8", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_utility_room_lights_outlets_breaker_rating", + "hidden_by": null, + "original_name": "Utility room / Lights & Outlets Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1334-066e8_circuit-3_current": { + "device": "xg-1334-066e8", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_utility_room_lights_outlets_current", + "hidden_by": null, + "original_name": "Utility room / Lights & Outlets Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1334-066e8_circuit-3_energy_consumed": { + "device": "xg-1334-066e8", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_utility_room_lights_outlets_consumed_energy", + "hidden_by": null, + "original_name": "Utility room / Lights & Outlets Consumed Energy", + "platform": "sensor", + "state": "8337.7", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1334-066e8_circuit-3_energy_net": { + "device": "xg-1334-066e8", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_utility_room_lights_outlets_net_energy", + "hidden_by": null, + "original_name": "Utility room / Lights & Outlets Net Energy", + "platform": "sensor", + "state": "7910.4", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1334-066e8_circuit-3_energy_produced": { + "device": "xg-1334-066e8", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_utility_room_lights_outlets_produced_energy", + "hidden_by": null, + "original_name": "Utility room / Lights & Outlets Produced Energy", + "platform": "sensor", + "state": "427.3", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1334-066e8_circuit-3_power": { + "device": "xg-1334-066e8", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_utility_room_lights_outlets_power", + "hidden_by": null, + "original_name": "Utility room / Lights & Outlets Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-1334-066e8_circuit-4_breaker_rating": { + "device": "xg-1334-066e8", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_electric_oven_breaker_rating", + "hidden_by": null, + "original_name": "Electric oven Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1334-066e8_circuit-4_current": { + "device": "xg-1334-066e8", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_electric_oven_current", + "hidden_by": null, + "original_name": "Electric oven Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1334-066e8_circuit-4_energy_consumed": { + "device": "xg-1334-066e8", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_electric_oven_consumed_energy", + "hidden_by": null, + "original_name": "Electric oven Consumed Energy", + "platform": "sensor", + "state": "12213.2", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1334-066e8_circuit-4_energy_net": { + "device": "xg-1334-066e8", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_electric_oven_net_energy", + "hidden_by": null, + "original_name": "Electric oven Net Energy", + "platform": "sensor", + "state": "11397.0", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1334-066e8_circuit-4_energy_produced": { + "device": "xg-1334-066e8", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_electric_oven_produced_energy", + "hidden_by": null, + "original_name": "Electric oven Produced Energy", + "platform": "sensor", + "state": "816.2", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1334-066e8_circuit-4_power": { + "device": "xg-1334-066e8", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_electric_oven_power", + "hidden_by": null, + "original_name": "Electric oven Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-1334-066e8_circuit-5_breaker_rating": { + "device": "xg-1334-066e8_evse_dt-5599-00321", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_ev_charger_flex_breaker_rating", + "hidden_by": null, + "original_name": "Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1334-066e8_circuit-5_current": { + "device": "xg-1334-066e8_evse_dt-5599-00321", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_ev_charger_flex_current", + "hidden_by": null, + "original_name": "Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1334-066e8_circuit-5_energy_consumed": { + "device": "xg-1334-066e8_evse_dt-5599-00321", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_ev_charger_flex_consumed_energy", + "hidden_by": null, + "original_name": "Consumed Energy", + "platform": "sensor", + "state": "1326749.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1334-066e8_circuit-5_energy_net": { + "device": "xg-1334-066e8_evse_dt-5599-00321", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_ev_charger_flex_net_energy", + "hidden_by": null, + "original_name": "Net Energy", + "platform": "sensor", + "state": "1326734.7", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1334-066e8_circuit-5_energy_produced": { + "device": "xg-1334-066e8_evse_dt-5599-00321", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_ev_charger_flex_produced_energy", + "hidden_by": null, + "original_name": "Produced Energy", + "platform": "sensor", + "state": "15.2", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1334-066e8_circuit-5_power": { + "device": "xg-1334-066e8_evse_dt-5599-00321", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_ev_charger_flex_power", + "hidden_by": null, + "original_name": "Power", + "platform": "sensor", + "state": "9.7", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-1334-066e8_circuit-8_breaker_rating": { + "device": "xg-1334-066e8", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_lucid_charger_breaker_rating", + "hidden_by": null, + "original_name": "Lucid charger Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1334-066e8_circuit-8_current": { + "device": "xg-1334-066e8", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_lucid_charger_current", + "hidden_by": null, + "original_name": "Lucid charger Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1334-066e8_circuit-8_energy_consumed": { + "device": "xg-1334-066e8", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_lucid_charger_consumed_energy", + "hidden_by": null, + "original_name": "Lucid charger Consumed Energy", + "platform": "sensor", + "state": "965.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1334-066e8_circuit-8_energy_net": { + "device": "xg-1334-066e8", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_lucid_charger_net_energy", + "hidden_by": null, + "original_name": "Lucid charger Net Energy", + "platform": "sensor", + "state": "581.1", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1334-066e8_circuit-8_energy_produced": { + "device": "xg-1334-066e8", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_lucid_charger_produced_energy", + "hidden_by": null, + "original_name": "Lucid charger Produced Energy", + "platform": "sensor", + "state": "384.8", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1334-066e8_circuit-8_power": { + "device": "xg-1334-066e8", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_lucid_charger_power", + "hidden_by": null, + "original_name": "Lucid charger Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-1334-066e8_circuit-9_breaker_rating": { + "device": "xg-1334-066e8", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_neutral_forming_transformer_nft_breaker_rating", + "hidden_by": null, + "original_name": "Neutral forming transformer (NFT) Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1334-066e8_circuit-9_current": { + "device": "xg-1334-066e8", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_neutral_forming_transformer_nft_current", + "hidden_by": null, + "original_name": "Neutral forming transformer (NFT) Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-1334-066e8_circuit-9_energy_consumed": { + "device": "xg-1334-066e8", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_neutral_forming_transformer_nft_consumed_energy", + "hidden_by": null, + "original_name": "Neutral forming transformer (NFT) Consumed Energy", + "platform": "sensor", + "state": "78533900304.6", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1334-066e8_circuit-9_energy_net": { + "device": "xg-1334-066e8", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_neutral_forming_transformer_nft_net_energy", + "hidden_by": null, + "original_name": "Neutral forming transformer (NFT) Net Energy", + "platform": "sensor", + "state": "78533899848.1", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1334-066e8_circuit-9_energy_produced": { + "device": "xg-1334-066e8", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_neutral_forming_transformer_nft_produced_energy", + "hidden_by": null, + "original_name": "Neutral forming transformer (NFT) Produced Energy", + "platform": "sensor", + "state": "456.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-1334-066e8_circuit-9_power": { + "device": "xg-1334-066e8", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_neutral_forming_transformer_nft_power", + "hidden_by": null, + "original_name": "Neutral forming transformer (NFT) Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-1334-066e8_current_power": { + "device": "xg-1334-066e8", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_current_power", + "hidden_by": null, + "original_name": "Current Power", + "platform": "sensor", + "state": "19.1", + "state_class": "measurement", + "translation_key": "instant_grid_power", + "unit_of_measurement": "W" + }, + "span_xg-1334-066e8_current_run_config": { + "device": "xg-1334-066e8", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_current_run_config", + "hidden_by": null, + "original_name": "Current Run Config", + "platform": "sensor", + "state": "unknown", + "state_class": null, + "translation_key": "current_run_config", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_doorState": { + "device": "xg-1334-066e8", + "device_class": "tamper", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_door_state", + "hidden_by": null, + "original_name": "Door State", + "platform": "binary_sensor", + "state": "off", + "state_class": null, + "translation_key": "door_state", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_downstream_l1_current": { + "device": "xg-1334-066e8", + "device_class": "current", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_downstream_l1_current", + "hidden_by": null, + "original_name": "Downstream L1 Current", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "downstream_l1_current", + "unit_of_measurement": "A" + }, + "span_xg-1334-066e8_downstream_l2_current": { + "device": "xg-1334-066e8", + "device_class": "current", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_downstream_l2_current", + "hidden_by": null, + "original_name": "Downstream L2 Current", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "downstream_l2_current", + "unit_of_measurement": "A" + }, + "span_xg-1334-066e8_dsm_grid_state": { + "device": "xg-1334-066e8", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_dsm_grid_state", + "hidden_by": null, + "original_name": "DSM Grid State", + "platform": "sensor", + "state": "unknown", + "state_class": null, + "translation_key": "dsm_grid_state", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_dsm_state": { + "device": "xg-1334-066e8", + "device_class": "enum", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_dsm_state", + "hidden_by": null, + "original_name": "DSM State", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "dsm_state", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_eth0Link": { + "device": "xg-1334-066e8", + "device_class": "connectivity", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_ethernet_link", + "hidden_by": null, + "original_name": "Ethernet Link", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "ethernet_link", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_evse_dt-5599-00321_evse_charge_current_limit": { + "device": "xg-1334-066e8_evse_dt-5599-00321", + "device_class": "current", + "disabled_by": null, + "entity_category": "config", + "entity_id": "number.span_panel_ev_charger_flex_evse_charge_current_limit", + "hidden_by": null, + "original_name": "EVSE Charge Current Limit", + "platform": "number", + "state": "48", + "state_class": null, + "translation_key": "evse_charge_current_limit", + "unit_of_measurement": "A" + }, + "span_xg-1334-066e8_evse_dt-5599-00321_evse_charging": { + "device": "xg-1334-066e8_evse_dt-5599-00321", + "device_class": "battery_charging", + "disabled_by": null, + "entity_category": null, + "entity_id": "binary_sensor.span_panel_ev_charger_flex_charging", + "hidden_by": null, + "original_name": "Charging", + "platform": "binary_sensor", + "state": "off", + "state_class": null, + "translation_key": "evse_charging", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_evse_dt-5599-00321_evse_ev_connected": { + "device": "xg-1334-066e8_evse_dt-5599-00321", + "device_class": "plug", + "disabled_by": null, + "entity_category": null, + "entity_id": "binary_sensor.span_panel_ev_charger_flex_ev_connected", + "hidden_by": null, + "original_name": "EV Connected", + "platform": "binary_sensor", + "state": "off", + "state_class": null, + "translation_key": "evse_ev_connected", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_evse_dt-5599-00321_evse_lock_state": { + "device": "xg-1334-066e8_evse_dt-5599-00321", + "device_class": "enum", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_ev_charger_flex_lock_state", + "hidden_by": null, + "original_name": "Lock State", + "platform": "sensor", + "state": "unlocked", + "state_class": null, + "translation_key": "evse_lock_state", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_evse_dt-5599-00321_evse_panel_link": { + "device": "xg-1334-066e8_evse_dt-5599-00321", + "device_class": "connectivity", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_ev_charger_flex_evse_panel_link", + "hidden_by": null, + "original_name": "EVSE Panel Link", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "evse_panel_link", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_evse_dt-5599-00321_evse_part_number": { + "device": "xg-1334-066e8_evse_dt-5599-00321", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_ev_charger_flex_part_number", + "hidden_by": null, + "original_name": "Part Number", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "evse_part_number", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_evse_dt-5599-00321_evse_status": { + "device": "xg-1334-066e8_evse_dt-5599-00321", + "device_class": "enum", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_ev_charger_flex_charger_status", + "hidden_by": null, + "original_name": "Charger Status", + "platform": "sensor", + "state": "available", + "state_class": null, + "translation_key": "evse_status", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_evse_dt-5599-00321_lock": { + "device": "xg-1334-066e8_evse_dt-5599-00321", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "lock.span_panel_ev_charger_flex_evse_lock", + "hidden_by": null, + "original_name": "EVSE Lock", + "platform": "lock", + "state": "unlocked", + "state_class": null, + "translation_key": "evse_lock", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_feed_through_consumed_energy": { + "device": "xg-1334-066e8", + "device_class": "energy", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_feed_through_consumed_energy", + "hidden_by": null, + "original_name": "Feed Through Consumed Energy", + "platform": "sensor", + "state": null, + "state_class": "total", + "translation_key": "feedthrough_consumed_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-1334-066e8_feed_through_net_energy": { + "device": "xg-1334-066e8", + "device_class": "energy", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_feed_through_net_energy", + "hidden_by": null, + "original_name": "Feed Through Net Energy", + "platform": "sensor", + "state": null, + "state_class": "total", + "translation_key": "feedthrough_net_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-1334-066e8_feed_through_power": { + "device": "xg-1334-066e8", + "device_class": "power", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_feed_through_power", + "hidden_by": null, + "original_name": "Feed Through Power", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "feedthrough_power", + "unit_of_measurement": "W" + }, + "span_xg-1334-066e8_feed_through_produced_energy": { + "device": "xg-1334-066e8", + "device_class": "energy", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_feed_through_produced_energy", + "hidden_by": null, + "original_name": "Feed Through Produced Energy", + "platform": "sensor", + "state": null, + "state_class": "total", + "translation_key": "feedthrough_produced_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-1334-066e8_frequency": { + "device": "xg-1334-066e8", + "device_class": "frequency", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_frequency", + "hidden_by": null, + "original_name": "Frequency", + "platform": "sensor", + "state": "60.01", + "state_class": "measurement", + "translation_key": "frequency", + "unit_of_measurement": "Hz" + }, + "span_xg-1334-066e8_gfe_override": { + "device": "xg-1334-066e8", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "button.span_panel_gfe_override_grid_connected", + "hidden_by": null, + "original_name": "GFE Override: Grid Connected", + "platform": "button", + "state": "unavailable", + "state_class": null, + "translation_key": "gfe_override", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_grid_forming_entity": { + "device": "xg-1334-066e8", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_grid_forming_entity", + "hidden_by": null, + "original_name": "Grid Forming Entity", + "platform": "sensor", + "state": "unknown", + "state_class": null, + "translation_key": "grid_forming_entity", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_grid_islandable": { + "device": "xg-1334-066e8", + "device_class": "power", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_grid_islandable", + "hidden_by": null, + "original_name": "Grid Islandable", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "grid_islandable", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_grid_power_flow": { + "device": "xg-1334-066e8", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_grid_power", + "hidden_by": null, + "original_name": "Grid Power", + "platform": "sensor", + "state": "18.9", + "state_class": "measurement", + "translation_key": "grid_power_flow", + "unit_of_measurement": "W" + }, + "span_xg-1334-066e8_l1_voltage": { + "device": "xg-1334-066e8", + "device_class": "voltage", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_l1_voltage", + "hidden_by": null, + "original_name": "L1 Voltage", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "l1_voltage", + "unit_of_measurement": "V" + }, + "span_xg-1334-066e8_l2_voltage": { + "device": "xg-1334-066e8", + "device_class": "voltage", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_l2_voltage", + "hidden_by": null, + "original_name": "L2 Voltage", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "l2_voltage", + "unit_of_measurement": "V" + }, + "span_xg-1334-066e8_main_meter_consumed_energy": { + "device": "xg-1334-066e8", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_main_meter_consumed_energy", + "hidden_by": null, + "original_name": "Main Meter Consumed Energy", + "platform": "sensor", + "state": "1633751.9", + "state_class": "total_increasing", + "translation_key": "main_meter_consumed_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-1334-066e8_main_meter_net_energy": { + "device": "xg-1334-066e8", + "device_class": "energy", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_main_meter_net_energy", + "hidden_by": null, + "original_name": "Main Meter Net Energy", + "platform": "sensor", + "state": null, + "state_class": "total", + "translation_key": "main_meter_net_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-1334-066e8_main_meter_produced_energy": { + "device": "xg-1334-066e8", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_main_meter_produced_energy", + "hidden_by": null, + "original_name": "Main Meter Produced Energy", + "platform": "sensor", + "state": "0.0", + "state_class": "total_increasing", + "translation_key": "main_meter_produced_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-1334-066e8_main_relay_state": { + "device": "xg-1334-066e8", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_main_relay_state", + "hidden_by": null, + "original_name": "Main Relay State", + "platform": "sensor", + "state": "unknown", + "state_class": null, + "translation_key": "main_relay_state", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_mid_mid_grid_state": { + "device": "xg-1334-066e8_mid", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_microgrid_interconnect_grid_state", + "hidden_by": null, + "original_name": "Grid State", + "platform": "sensor", + "state": "unknown", + "state_class": null, + "translation_key": "mid_grid_state", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_panel_status": { + "device": "xg-1334-066e8", + "device_class": "connectivity", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_panel_status", + "hidden_by": null, + "original_name": "Panel Status", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "panel_status", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_pcs_active": { + "device": "xg-1334-066e8", + "device_class": "running", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_pcs_active", + "hidden_by": null, + "original_name": "PCS Active", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "pcs_active", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_pcs_binding_constraint": { + "device": "xg-1334-066e8", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_binding_constraint", + "hidden_by": null, + "original_name": "Binding Constraint", + "platform": "sensor", + "state": "fsr", + "state_class": null, + "translation_key": "pcs_binding_constraint", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_pcs_import_limit": { + "device": "xg-1334-066e8", + "device_class": "current", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_import_limit", + "hidden_by": null, + "original_name": "Import Limit", + "platform": "sensor", + "state": "80.0", + "state_class": "measurement", + "translation_key": "pcs_import_limit", + "unit_of_measurement": "A" + }, + "span_xg-1334-066e8_relay_circuit-1": { + "device": "xg-1334-066e8", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_bedroom_kitchen_lights_breaker", + "hidden_by": null, + "original_name": "Bedroom, Kitchen / Lights Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-1334-066e8_relay_circuit-2": { + "device": "xg-1334-066e8", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_office_outlets_breaker", + "hidden_by": null, + "original_name": "Office / Outlets Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-1334-066e8_relay_circuit-3": { + "device": "xg-1334-066e8", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_utility_room_lights_outlets_breaker", + "hidden_by": null, + "original_name": "Utility room / Lights & Outlets Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-1334-066e8_relay_circuit-4": { + "device": "xg-1334-066e8", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_electric_oven_breaker", + "hidden_by": null, + "original_name": "Electric oven Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-1334-066e8_relay_circuit-9": { + "device": "xg-1334-066e8", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_neutral_forming_transformer_nft_breaker", + "hidden_by": null, + "original_name": "Neutral forming transformer (NFT) Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-1334-066e8_select_circuit-1": { + "device": "xg-1334-066e8", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_bedroom_kitchen_lights_circuit_priority", + "hidden_by": null, + "original_name": "Bedroom, Kitchen / Lights Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_select_circuit-2": { + "device": "xg-1334-066e8", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_office_outlets_circuit_priority", + "hidden_by": null, + "original_name": "Office / Outlets Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_select_circuit-3": { + "device": "xg-1334-066e8", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_utility_room_lights_outlets_circuit_priority", + "hidden_by": null, + "original_name": "Utility room / Lights & Outlets Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_select_circuit-4": { + "device": "xg-1334-066e8", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_electric_oven_circuit_priority", + "hidden_by": null, + "original_name": "Electric oven Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_select_circuit-9": { + "device": "xg-1334-066e8", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_neutral_forming_transformer_nft_circuit_priority", + "hidden_by": null, + "original_name": "Neutral forming transformer (NFT) Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_site_power": { + "device": "xg-1334-066e8", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_site_power", + "hidden_by": null, + "original_name": "Site Power", + "platform": "sensor", + "state": "9.7", + "state_class": "measurement", + "translation_key": "site_power", + "unit_of_measurement": "W" + }, + "span_xg-1334-066e8_software_version": { + "device": "xg-1334-066e8", + "device_class": null, + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_software_version", + "hidden_by": null, + "original_name": "Software Version", + "platform": "sensor", + "state": "spanos3/r202639/03", + "state_class": null, + "translation_key": "software_version", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_storage_battery_percentage": { + "device": "xg-1334-066e8_bess", + "device_class": "battery", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_battery_battery_level", + "hidden_by": null, + "original_name": "Battery Level", + "platform": "sensor", + "state": "unknown", + "state_class": "measurement", + "translation_key": "battery_level", + "unit_of_measurement": "%" + }, + "span_xg-1334-066e8_upstream_l1_current": { + "device": "xg-1334-066e8", + "device_class": "current", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_upstream_l1_current", + "hidden_by": null, + "original_name": "Upstream L1 Current", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "upstream_l1_current", + "unit_of_measurement": "A" + }, + "span_xg-1334-066e8_upstream_l2_current": { + "device": "xg-1334-066e8", + "device_class": "current", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_upstream_l2_current", + "hidden_by": null, + "original_name": "Upstream L2 Current", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "upstream_l2_current", + "unit_of_measurement": "A" + }, + "span_xg-1334-066e8_upstream_protection_rating": { + "device": "xg-1334-066e8", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_upstream_protection_rating", + "hidden_by": null, + "original_name": "Upstream Protection Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "upstream_protection_rating", + "unit_of_measurement": "A" + }, + "span_xg-1334-066e8_vendor_cloud": { + "device": "xg-1334-066e8", + "device_class": "enum", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_vendor_cloud", + "hidden_by": null, + "original_name": "Vendor Cloud", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "vendor_cloud", + "unit_of_measurement": null + }, + "span_xg-1334-066e8_wlanLink": { + "device": "xg-1334-066e8", + "device_class": "connectivity", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_wi_fi_link", + "hidden_by": null, + "original_name": "Wi-Fi Link", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "wifi_link", + "unit_of_measurement": null + } + } +} diff --git a/tests/fixtures/expected_entities/r202639-e.json b/tests/fixtures/expected_entities/r202639-e.json new file mode 100644 index 0000000..f2fe349 --- /dev/null +++ b/tests/fixtures/expected_entities/r202639-e.json @@ -0,0 +1,5736 @@ +{ + "devices": { + "xg-6159-74dlx": { + "hw_version": "3.0", + "manufacturer": "SPAN", + "model": "MLO_48", + "name": "Span Panel", + "serial_number": null, + "sw_version": "spanos3/r202639/03", + "via_device": null + }, + "xg-6159-74dlx_evse_dt-6692-e9t57": { + "hw_version": null, + "manufacturer": "SPAN", + "model": "SPAN Drive", + "name": "Span Panel EV Charger (SPAN Drive)", + "serial_number": "dt-6692-e9t57", + "sw_version": null, + "via_device": "xg-6159-74dlx" + } + }, + "entities": { + "span_xg-6159-74dlx_busbar_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_busbar_current", + "hidden_by": null, + "original_name": "Busbar Current", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": "busbar_current", + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-12_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_kitchen_sink_garbage_disposal_breaker_rating", + "hidden_by": null, + "original_name": "Kitchen Sink Garbage Disposal Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-12_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_sink_garbage_disposal_current", + "hidden_by": null, + "original_name": "Kitchen Sink Garbage Disposal Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-12_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_sink_garbage_disposal_consumed_energy", + "hidden_by": null, + "original_name": "Kitchen Sink Garbage Disposal Consumed Energy", + "platform": "sensor", + "state": "726.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-12_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_sink_garbage_disposal_net_energy", + "hidden_by": null, + "original_name": "Kitchen Sink Garbage Disposal Net Energy", + "platform": "sensor", + "state": "180.2", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-12_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_sink_garbage_disposal_produced_energy", + "hidden_by": null, + "original_name": "Kitchen Sink Garbage Disposal Produced Energy", + "platform": "sensor", + "state": "546.7", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-12_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_sink_garbage_disposal_power", + "hidden_by": null, + "original_name": "Kitchen Sink Garbage Disposal Power", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-13_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_dishwasher_breaker_rating", + "hidden_by": null, + "original_name": "Dishwasher Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-13_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_dishwasher_current", + "hidden_by": null, + "original_name": "Dishwasher Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-13_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_dishwasher_consumed_energy", + "hidden_by": null, + "original_name": "Dishwasher Consumed Energy", + "platform": "sensor", + "state": "677.1", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-13_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_dishwasher_net_energy", + "hidden_by": null, + "original_name": "Dishwasher Net Energy", + "platform": "sensor", + "state": "167.4", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-13_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_dishwasher_produced_energy", + "hidden_by": null, + "original_name": "Dishwasher Produced Energy", + "platform": "sensor", + "state": "509.7", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-13_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_dishwasher_power", + "hidden_by": null, + "original_name": "Dishwasher Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-14_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_main_office_fam_tv_breaker_rating", + "hidden_by": null, + "original_name": "Main Office & Fam TV Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-14_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_main_office_fam_tv_current", + "hidden_by": null, + "original_name": "Main Office & Fam TV Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-14_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_main_office_fam_tv_consumed_energy", + "hidden_by": null, + "original_name": "Main Office & Fam TV Consumed Energy", + "platform": "sensor", + "state": "671.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-14_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_main_office_fam_tv_net_energy", + "hidden_by": null, + "original_name": "Main Office & Fam TV Net Energy", + "platform": "sensor", + "state": "167.7", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-14_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_main_office_fam_tv_produced_energy", + "hidden_by": null, + "original_name": "Main Office & Fam TV Produced Energy", + "platform": "sensor", + "state": "504.2", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-14_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_main_office_fam_tv_power", + "hidden_by": null, + "original_name": "Main Office & Fam TV Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-15_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_basement_outlets_french_door_wall_breaker_rating", + "hidden_by": null, + "original_name": "Basement Outlets French Door Wall Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-15_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_basement_outlets_french_door_wall_current", + "hidden_by": null, + "original_name": "Basement Outlets French Door Wall Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-15_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_basement_outlets_french_door_wall_consumed_energy", + "hidden_by": null, + "original_name": "Basement Outlets French Door Wall Consumed Energy", + "platform": "sensor", + "state": "717.4", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-15_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_basement_outlets_french_door_wall_net_energy", + "hidden_by": null, + "original_name": "Basement Outlets French Door Wall Net Energy", + "platform": "sensor", + "state": "167.6", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-15_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_basement_outlets_french_door_wall_produced_energy", + "hidden_by": null, + "original_name": "Basement Outlets French Door Wall Produced Energy", + "platform": "sensor", + "state": "549.8", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-15_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_basement_outlets_french_door_wall_power", + "hidden_by": null, + "original_name": "Basement Outlets French Door Wall Power", + "platform": "sensor", + "state": "-0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-16_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_basement_lights_outlets_breaker_rating", + "hidden_by": null, + "original_name": "Basement / Lights & Outlets Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-16_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_basement_lights_outlets_current", + "hidden_by": null, + "original_name": "Basement / Lights & Outlets Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-16_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_basement_lights_outlets_consumed_energy", + "hidden_by": null, + "original_name": "Basement / Lights & Outlets Consumed Energy", + "platform": "sensor", + "state": "712.7", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-16_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_basement_lights_outlets_net_energy", + "hidden_by": null, + "original_name": "Basement / Lights & Outlets Net Energy", + "platform": "sensor", + "state": "164.2", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-16_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_basement_lights_outlets_produced_energy", + "hidden_by": null, + "original_name": "Basement / Lights & Outlets Produced Energy", + "platform": "sensor", + "state": "548.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-16_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_basement_lights_outlets_power", + "hidden_by": null, + "original_name": "Basement / Lights & Outlets Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-17_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_utility_room_breaker_rating", + "hidden_by": null, + "original_name": "Utility Room Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-17_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_utility_room_current", + "hidden_by": null, + "original_name": "Utility Room Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-17_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_utility_room_consumed_energy", + "hidden_by": null, + "original_name": "Utility Room Consumed Energy", + "platform": "sensor", + "state": "678.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-17_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_utility_room_net_energy", + "hidden_by": null, + "original_name": "Utility Room Net Energy", + "platform": "sensor", + "state": "156.2", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-17_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_utility_room_produced_energy", + "hidden_by": null, + "original_name": "Utility Room Produced Energy", + "platform": "sensor", + "state": "522.7", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-17_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_utility_room_power", + "hidden_by": null, + "original_name": "Utility Room Power", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-18_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_hood_breaker_rating", + "hidden_by": null, + "original_name": "Hood Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-18_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_hood_current", + "hidden_by": null, + "original_name": "Hood Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-18_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_hood_consumed_energy", + "hidden_by": null, + "original_name": "Hood Consumed Energy", + "platform": "sensor", + "state": "664.0", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-18_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_hood_net_energy", + "hidden_by": null, + "original_name": "Hood Net Energy", + "platform": "sensor", + "state": "168.9", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-18_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_hood_produced_energy", + "hidden_by": null, + "original_name": "Hood Produced Energy", + "platform": "sensor", + "state": "495.1", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-18_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_hood_power", + "hidden_by": null, + "original_name": "Hood Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-19_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_basement_lights_outlets_breaker_rating_2", + "hidden_by": null, + "original_name": "Basement / Lights & Outlets Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-19_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_basement_lights_outlets_current_2", + "hidden_by": null, + "original_name": "Basement / Lights & Outlets Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-19_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_basement_lights_outlets_consumed_energy_2", + "hidden_by": null, + "original_name": "Basement / Lights & Outlets Consumed Energy", + "platform": "sensor", + "state": "726.3", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-19_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_basement_lights_outlets_net_energy_2", + "hidden_by": null, + "original_name": "Basement / Lights & Outlets Net Energy", + "platform": "sensor", + "state": "171.2", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-19_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_basement_lights_outlets_produced_energy_2", + "hidden_by": null, + "original_name": "Basement / Lights & Outlets Produced Energy", + "platform": "sensor", + "state": "555.1", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-19_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_basement_lights_outlets_power_2", + "hidden_by": null, + "original_name": "Basement / Lights & Outlets Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-1_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_hvac_breaker_rating", + "hidden_by": null, + "original_name": "HVAC Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-1_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_hvac_current", + "hidden_by": null, + "original_name": "HVAC Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-1_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_hvac_consumed_energy", + "hidden_by": null, + "original_name": "HVAC Consumed Energy", + "platform": "sensor", + "state": "60911.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-1_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_hvac_net_energy", + "hidden_by": null, + "original_name": "HVAC Net Energy", + "platform": "sensor", + "state": "60538.2", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-1_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_hvac_produced_energy", + "hidden_by": null, + "original_name": "HVAC Produced Energy", + "platform": "sensor", + "state": "373.3", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-1_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_hvac_power", + "hidden_by": null, + "original_name": "HVAC Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-21_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_electric_infared_sauna_breaker_rating", + "hidden_by": null, + "original_name": "Electric Infared Sauna Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-21_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_electric_infared_sauna_current", + "hidden_by": null, + "original_name": "Electric Infared Sauna Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-21_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_electric_infared_sauna_consumed_energy", + "hidden_by": null, + "original_name": "Electric Infared Sauna Consumed Energy", + "platform": "sensor", + "state": "485.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-21_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_electric_infared_sauna_net_energy", + "hidden_by": null, + "original_name": "Electric Infared Sauna Net Energy", + "platform": "sensor", + "state": "110.7", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-21_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_electric_infared_sauna_produced_energy", + "hidden_by": null, + "original_name": "Electric Infared Sauna Produced Energy", + "platform": "sensor", + "state": "375.2", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-21_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_electric_infared_sauna_power", + "hidden_by": null, + "original_name": "Electric Infared Sauna Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-22_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_main_office_dedicated_outlets_breaker_rating", + "hidden_by": null, + "original_name": "Main Office Dedicated Outlets Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-22_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_main_office_dedicated_outlets_current", + "hidden_by": null, + "original_name": "Main Office Dedicated Outlets Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-22_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_main_office_dedicated_outlets_consumed_energy", + "hidden_by": null, + "original_name": "Main Office Dedicated Outlets Consumed Energy", + "platform": "sensor", + "state": "709.6", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-22_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_main_office_dedicated_outlets_net_energy", + "hidden_by": null, + "original_name": "Main Office Dedicated Outlets Net Energy", + "platform": "sensor", + "state": "161.9", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-22_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_main_office_dedicated_outlets_produced_energy", + "hidden_by": null, + "original_name": "Main Office Dedicated Outlets Produced Energy", + "platform": "sensor", + "state": "547.7", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-22_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_main_office_dedicated_outlets_power", + "hidden_by": null, + "original_name": "Main Office Dedicated Outlets Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-23_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_bidet_outlets_basement_main_floor_breaker_rating", + "hidden_by": null, + "original_name": "Bidet Outlets Basement & Main Floor Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-23_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bidet_outlets_basement_main_floor_current", + "hidden_by": null, + "original_name": "Bidet Outlets Basement & Main Floor Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-23_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bidet_outlets_basement_main_floor_consumed_energy", + "hidden_by": null, + "original_name": "Bidet Outlets Basement & Main Floor Consumed Energy", + "platform": "sensor", + "state": "720.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-23_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bidet_outlets_basement_main_floor_net_energy", + "hidden_by": null, + "original_name": "Bidet Outlets Basement & Main Floor Net Energy", + "platform": "sensor", + "state": "165.8", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-23_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bidet_outlets_basement_main_floor_produced_energy", + "hidden_by": null, + "original_name": "Bidet Outlets Basement & Main Floor Produced Energy", + "platform": "sensor", + "state": "554.7", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-23_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bidet_outlets_basement_main_floor_power", + "hidden_by": null, + "original_name": "Bidet Outlets Basement & Main Floor Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-24_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_dining_room_lights_outlets_breaker_rating", + "hidden_by": null, + "original_name": "Dining room / Lights & Outlets Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-24_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_dining_room_lights_outlets_current", + "hidden_by": null, + "original_name": "Dining room / Lights & Outlets Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-24_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_dining_room_lights_outlets_consumed_energy", + "hidden_by": null, + "original_name": "Dining room / Lights & Outlets Consumed Energy", + "platform": "sensor", + "state": "520.7", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-24_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_dining_room_lights_outlets_net_energy", + "hidden_by": null, + "original_name": "Dining room / Lights & Outlets Net Energy", + "platform": "sensor", + "state": "106.3", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-24_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_dining_room_lights_outlets_produced_energy", + "hidden_by": null, + "original_name": "Dining room / Lights & Outlets Produced Energy", + "platform": "sensor", + "state": "414.4", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-24_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_dining_room_lights_outlets_power", + "hidden_by": null, + "original_name": "Dining room / Lights & Outlets Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-25_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_kitchen_fr_door_isle_alt_outlets_breaker_rating", + "hidden_by": null, + "original_name": "Kitchen fr. door & Isle Alt. Outlets Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-25_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_fr_door_isle_alt_outlets_current", + "hidden_by": null, + "original_name": "Kitchen fr. door & Isle Alt. Outlets Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-25_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_fr_door_isle_alt_outlets_consumed_energy", + "hidden_by": null, + "original_name": "Kitchen fr. door & Isle Alt. Outlets Consumed Energy", + "platform": "sensor", + "state": "527.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-25_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_fr_door_isle_alt_outlets_net_energy", + "hidden_by": null, + "original_name": "Kitchen fr. door & Isle Alt. Outlets Net Energy", + "platform": "sensor", + "state": "107.0", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-25_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_fr_door_isle_alt_outlets_produced_energy", + "hidden_by": null, + "original_name": "Kitchen fr. door & Isle Alt. Outlets Produced Energy", + "platform": "sensor", + "state": "420.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-25_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_fr_door_isle_alt_outlets_power", + "hidden_by": null, + "original_name": "Kitchen fr. door & Isle Alt. Outlets Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-26_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_furnace_breaker_rating", + "hidden_by": null, + "original_name": "Furnace Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-26_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_furnace_current", + "hidden_by": null, + "original_name": "Furnace Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-26_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_furnace_consumed_energy", + "hidden_by": null, + "original_name": "Furnace Consumed Energy", + "platform": "sensor", + "state": "426.4", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-26_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_furnace_net_energy", + "hidden_by": null, + "original_name": "Furnace Net Energy", + "platform": "sensor", + "state": "86.6", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-26_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_furnace_produced_energy", + "hidden_by": null, + "original_name": "Furnace Produced Energy", + "platform": "sensor", + "state": "339.8", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-26_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_furnace_power", + "hidden_by": null, + "original_name": "Furnace Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-27_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_bed_2_shared_bath_lights_outlets_breaker_rating", + "hidden_by": null, + "original_name": "Bed 2 & Shared Bath Lights & Outlets Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-27_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bed_2_shared_bath_lights_outlets_current", + "hidden_by": null, + "original_name": "Bed 2 & Shared Bath Lights & Outlets Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-27_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bed_2_shared_bath_lights_outlets_consumed_energy", + "hidden_by": null, + "original_name": "Bed 2 & Shared Bath Lights & Outlets Consumed Energy", + "platform": "sensor", + "state": "513.3", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-27_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bed_2_shared_bath_lights_outlets_net_energy", + "hidden_by": null, + "original_name": "Bed 2 & Shared Bath Lights & Outlets Net Energy", + "platform": "sensor", + "state": "104.4", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-27_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bed_2_shared_bath_lights_outlets_produced_energy", + "hidden_by": null, + "original_name": "Bed 2 & Shared Bath Lights & Outlets Produced Energy", + "platform": "sensor", + "state": "408.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-27_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bed_2_shared_bath_lights_outlets_power", + "hidden_by": null, + "original_name": "Bed 2 & Shared Bath Lights & Outlets Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-28_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_primary_bedroom_lights_outlets_breaker_rating", + "hidden_by": null, + "original_name": "Primary bedroom / Lights & Outlets Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-28_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_primary_bedroom_lights_outlets_current", + "hidden_by": null, + "original_name": "Primary bedroom / Lights & Outlets Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-28_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_primary_bedroom_lights_outlets_consumed_energy", + "hidden_by": null, + "original_name": "Primary bedroom / Lights & Outlets Consumed Energy", + "platform": "sensor", + "state": "664.0", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-28_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_primary_bedroom_lights_outlets_net_energy", + "hidden_by": null, + "original_name": "Primary bedroom / Lights & Outlets Net Energy", + "platform": "sensor", + "state": "158.4", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-28_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_primary_bedroom_lights_outlets_produced_energy", + "hidden_by": null, + "original_name": "Primary bedroom / Lights & Outlets Produced Energy", + "platform": "sensor", + "state": "505.6", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-28_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_primary_bedroom_lights_outlets_power", + "hidden_by": null, + "original_name": "Primary bedroom / Lights & Outlets Power", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-2_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_heat_pump_water_heater_breaker_rating", + "hidden_by": null, + "original_name": "Heat Pump Water Heater Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-2_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_heat_pump_water_heater_current", + "hidden_by": null, + "original_name": "Heat Pump Water Heater Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-2_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_heat_pump_water_heater_consumed_energy", + "hidden_by": null, + "original_name": "Heat Pump Water Heater Consumed Energy", + "platform": "sensor", + "state": "1012.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-2_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_heat_pump_water_heater_net_energy", + "hidden_by": null, + "original_name": "Heat Pump Water Heater Net Energy", + "platform": "sensor", + "state": "-19110737.1", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-2_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_heat_pump_water_heater_produced_energy", + "hidden_by": null, + "original_name": "Heat Pump Water Heater Produced Energy", + "platform": "sensor", + "state": "19111749.6", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-2_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_heat_pump_water_heater_power", + "hidden_by": null, + "original_name": "Heat Pump Water Heater Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-30_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_primary_bath_closets_breaker_rating", + "hidden_by": null, + "original_name": "Primary Bath & Closets Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-30_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_primary_bath_closets_current", + "hidden_by": null, + "original_name": "Primary Bath & Closets Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-30_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_primary_bath_closets_consumed_energy", + "hidden_by": null, + "original_name": "Primary Bath & Closets Consumed Energy", + "platform": "sensor", + "state": "743.2", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-30_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_primary_bath_closets_net_energy", + "hidden_by": null, + "original_name": "Primary Bath & Closets Net Energy", + "platform": "sensor", + "state": "173.8", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-30_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_primary_bath_closets_produced_energy", + "hidden_by": null, + "original_name": "Primary Bath & Closets Produced Energy", + "platform": "sensor", + "state": "569.4", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-30_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_primary_bath_closets_power", + "hidden_by": null, + "original_name": "Primary Bath & Closets Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-31_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_smoke_co_detectors_breaker_rating", + "hidden_by": null, + "original_name": "Smoke/CO Detectors Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-31_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_smoke_co_detectors_current", + "hidden_by": null, + "original_name": "Smoke/CO Detectors Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-31_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_smoke_co_detectors_consumed_energy", + "hidden_by": null, + "original_name": "Smoke/CO Detectors Consumed Energy", + "platform": "sensor", + "state": "700.8", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-31_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_smoke_co_detectors_net_energy", + "hidden_by": null, + "original_name": "Smoke/CO Detectors Net Energy", + "platform": "sensor", + "state": "151.1", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-31_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_smoke_co_detectors_produced_energy", + "hidden_by": null, + "original_name": "Smoke/CO Detectors Produced Energy", + "platform": "sensor", + "state": "549.7", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-31_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_smoke_co_detectors_power", + "hidden_by": null, + "original_name": "Smoke/CO Detectors Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-32_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_basement_outlets_exit_door_wall_breaker_rating", + "hidden_by": null, + "original_name": "Basement Outlets exit door wall Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-32_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_basement_outlets_exit_door_wall_current", + "hidden_by": null, + "original_name": "Basement Outlets exit door wall Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-32_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_basement_outlets_exit_door_wall_consumed_energy", + "hidden_by": null, + "original_name": "Basement Outlets exit door wall Consumed Energy", + "platform": "sensor", + "state": "667.0", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-32_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_basement_outlets_exit_door_wall_net_energy", + "hidden_by": null, + "original_name": "Basement Outlets exit door wall Net Energy", + "platform": "sensor", + "state": "485.9", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-32_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_basement_outlets_exit_door_wall_produced_energy", + "hidden_by": null, + "original_name": "Basement Outlets exit door wall Produced Energy", + "platform": "sensor", + "state": "181.1", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-32_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_basement_outlets_exit_door_wall_power", + "hidden_by": null, + "original_name": "Basement Outlets exit door wall Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-33_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_living_room_lights_outlets_breaker_rating", + "hidden_by": null, + "original_name": "Living room / Lights & Outlets Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-33_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_living_room_lights_outlets_current", + "hidden_by": null, + "original_name": "Living room / Lights & Outlets Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-33_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_living_room_lights_outlets_consumed_energy", + "hidden_by": null, + "original_name": "Living room / Lights & Outlets Consumed Energy", + "platform": "sensor", + "state": "664.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-33_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_living_room_lights_outlets_net_energy", + "hidden_by": null, + "original_name": "Living room / Lights & Outlets Net Energy", + "platform": "sensor", + "state": "132.3", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-33_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_living_room_lights_outlets_produced_energy", + "hidden_by": null, + "original_name": "Living room / Lights & Outlets Produced Energy", + "platform": "sensor", + "state": "532.6", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-33_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_living_room_lights_outlets_power", + "hidden_by": null, + "original_name": "Living room / Lights & Outlets Power", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-34_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_sump_pump_breaker_rating", + "hidden_by": null, + "original_name": "Sump Pump Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-34_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_sump_pump_current", + "hidden_by": null, + "original_name": "Sump Pump Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-34_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_sump_pump_consumed_energy", + "hidden_by": null, + "original_name": "Sump Pump Consumed Energy", + "platform": "sensor", + "state": "721.4", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-34_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_sump_pump_net_energy", + "hidden_by": null, + "original_name": "Sump Pump Net Energy", + "platform": "sensor", + "state": "152.3", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-34_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_sump_pump_produced_energy", + "hidden_by": null, + "original_name": "Sump Pump Produced Energy", + "platform": "sensor", + "state": "569.1", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-34_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_sump_pump_power", + "hidden_by": null, + "original_name": "Sump Pump Power", + "platform": "sensor", + "state": "-0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-35_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_kitchen_lights_breaker_rating", + "hidden_by": null, + "original_name": "Kitchen / Lights Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-35_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_lights_current", + "hidden_by": null, + "original_name": "Kitchen / Lights Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-35_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_lights_consumed_energy", + "hidden_by": null, + "original_name": "Kitchen / Lights Consumed Energy", + "platform": "sensor", + "state": "709.2", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-35_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_lights_net_energy", + "hidden_by": null, + "original_name": "Kitchen / Lights Net Energy", + "platform": "sensor", + "state": "147.8", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-35_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_lights_produced_energy", + "hidden_by": null, + "original_name": "Kitchen / Lights Produced Energy", + "platform": "sensor", + "state": "561.4", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-35_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_lights_power", + "hidden_by": null, + "original_name": "Kitchen / Lights Power", + "platform": "sensor", + "state": "0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-36_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_security_system_breaker_rating", + "hidden_by": null, + "original_name": "Security system Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-36_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_security_system_current", + "hidden_by": null, + "original_name": "Security system Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-36_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_security_system_consumed_energy", + "hidden_by": null, + "original_name": "Security system Consumed Energy", + "platform": "sensor", + "state": "677.3", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-36_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_security_system_net_energy", + "hidden_by": null, + "original_name": "Security system Net Energy", + "platform": "sensor", + "state": "148.3", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-36_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_security_system_produced_energy", + "hidden_by": null, + "original_name": "Security system Produced Energy", + "platform": "sensor", + "state": "529.0", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-36_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_security_system_power", + "hidden_by": null, + "original_name": "Security system Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-37_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_refrigerator_breaker_rating", + "hidden_by": null, + "original_name": "Refrigerator Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-37_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_refrigerator_current", + "hidden_by": null, + "original_name": "Refrigerator Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-37_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_refrigerator_consumed_energy", + "hidden_by": null, + "original_name": "Refrigerator Consumed Energy", + "platform": "sensor", + "state": "728.1", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-37_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_refrigerator_net_energy", + "hidden_by": null, + "original_name": "Refrigerator Net Energy", + "platform": "sensor", + "state": "170.6", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-37_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_refrigerator_produced_energy", + "hidden_by": null, + "original_name": "Refrigerator Produced Energy", + "platform": "sensor", + "state": "557.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-37_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_refrigerator_power", + "hidden_by": null, + "original_name": "Refrigerator Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-38_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_freezer_breaker_rating", + "hidden_by": null, + "original_name": "Freezer Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-38_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_freezer_current", + "hidden_by": null, + "original_name": "Freezer Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-38_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_freezer_consumed_energy", + "hidden_by": null, + "original_name": "Freezer Consumed Energy", + "platform": "sensor", + "state": "714.3", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-38_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_freezer_net_energy", + "hidden_by": null, + "original_name": "Freezer Net Energy", + "platform": "sensor", + "state": "146.5", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-38_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_freezer_produced_energy", + "hidden_by": null, + "original_name": "Freezer Produced Energy", + "platform": "sensor", + "state": "567.8", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-38_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_freezer_power", + "hidden_by": null, + "original_name": "Freezer Power", + "platform": "sensor", + "state": "-0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-3_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_electric_double_oven_breaker_rating", + "hidden_by": null, + "original_name": "Electric Double-Oven Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-3_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_electric_double_oven_current", + "hidden_by": null, + "original_name": "Electric Double-Oven Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-3_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_electric_double_oven_consumed_energy", + "hidden_by": null, + "original_name": "Electric Double-Oven Consumed Energy", + "platform": "sensor", + "state": "88644.0", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-3_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_electric_double_oven_net_energy", + "hidden_by": null, + "original_name": "Electric Double-Oven Net Energy", + "platform": "sensor", + "state": "-2504911596854.9", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-3_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_electric_double_oven_produced_energy", + "hidden_by": null, + "original_name": "Electric Double-Oven Produced Energy", + "platform": "sensor", + "state": "2504911685498.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-3_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_electric_double_oven_power", + "hidden_by": null, + "original_name": "Electric Double-Oven Power", + "platform": "sensor", + "state": "4.5", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-41_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_utility_room_dedicated_breaker_rating", + "hidden_by": null, + "original_name": "Utility Room Dedicated Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-41_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_utility_room_dedicated_current", + "hidden_by": null, + "original_name": "Utility Room Dedicated Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-41_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_utility_room_dedicated_consumed_energy", + "hidden_by": null, + "original_name": "Utility Room Dedicated Consumed Energy", + "platform": "sensor", + "state": "662.7", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-41_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_utility_room_dedicated_net_energy", + "hidden_by": null, + "original_name": "Utility Room Dedicated Net Energy", + "platform": "sensor", + "state": "142.9", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-41_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_utility_room_dedicated_produced_energy", + "hidden_by": null, + "original_name": "Utility Room Dedicated Produced Energy", + "platform": "sensor", + "state": "519.8", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-41_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_utility_room_dedicated_power", + "hidden_by": null, + "original_name": "Utility Room Dedicated Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-48_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_bedroom_outlets_breaker_rating", + "hidden_by": null, + "original_name": "Bedroom / Outlets Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-48_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bedroom_outlets_current", + "hidden_by": null, + "original_name": "Bedroom / Outlets Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-48_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bedroom_outlets_consumed_energy", + "hidden_by": null, + "original_name": "Bedroom / Outlets Consumed Energy", + "platform": "sensor", + "state": "666.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-48_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bedroom_outlets_net_energy", + "hidden_by": null, + "original_name": "Bedroom / Outlets Net Energy", + "platform": "sensor", + "state": "157.7", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-48_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bedroom_outlets_produced_energy", + "hidden_by": null, + "original_name": "Bedroom / Outlets Produced Energy", + "platform": "sensor", + "state": "508.8", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-48_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bedroom_outlets_power", + "hidden_by": null, + "original_name": "Bedroom / Outlets Power", + "platform": "sensor", + "state": "-0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-49_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_bathroom_outlets_breaker_rating", + "hidden_by": null, + "original_name": "Bathroom / Outlets Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-49_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bathroom_outlets_current", + "hidden_by": null, + "original_name": "Bathroom / Outlets Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-49_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bathroom_outlets_consumed_energy", + "hidden_by": null, + "original_name": "Bathroom / Outlets Consumed Energy", + "platform": "sensor", + "state": "734.1", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-49_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bathroom_outlets_net_energy", + "hidden_by": null, + "original_name": "Bathroom / Outlets Net Energy", + "platform": "sensor", + "state": "164.6", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-49_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bathroom_outlets_produced_energy", + "hidden_by": null, + "original_name": "Bathroom / Outlets Produced Energy", + "platform": "sensor", + "state": "569.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-49_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bathroom_outlets_power", + "hidden_by": null, + "original_name": "Bathroom / Outlets Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-4_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_laundry_room_breaker_rating", + "hidden_by": null, + "original_name": "Laundry Room Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-4_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_laundry_room_current", + "hidden_by": null, + "original_name": "Laundry Room Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-4_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_laundry_room_consumed_energy", + "hidden_by": null, + "original_name": "Laundry Room Consumed Energy", + "platform": "sensor", + "state": "86490.0", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-4_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_laundry_room_net_energy", + "hidden_by": null, + "original_name": "Laundry Room Net Energy", + "platform": "sensor", + "state": "85723.5", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-4_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_laundry_room_produced_energy", + "hidden_by": null, + "original_name": "Laundry Room Produced Energy", + "platform": "sensor", + "state": "766.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-4_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_laundry_room_power", + "hidden_by": null, + "original_name": "Laundry Room Power", + "platform": "sensor", + "state": "-0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-50_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_kitchen_outlets_breaker_rating_2", + "hidden_by": null, + "original_name": "Kitchen / Outlets Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-50_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_outlets_current_2", + "hidden_by": null, + "original_name": "Kitchen / Outlets Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-50_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_outlets_consumed_energy_2", + "hidden_by": null, + "original_name": "Kitchen / Outlets Consumed Energy", + "platform": "sensor", + "state": "152888357.7", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-50_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_outlets_net_energy_2", + "hidden_by": null, + "original_name": "Kitchen / Outlets Net Energy", + "platform": "sensor", + "state": "152887850.2", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-50_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_outlets_produced_energy_2", + "hidden_by": null, + "original_name": "Kitchen / Outlets Produced Energy", + "platform": "sensor", + "state": "507.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-50_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_outlets_power_2", + "hidden_by": null, + "original_name": "Kitchen / Outlets Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-51_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_kitchen_lights_breaker_rating_2", + "hidden_by": null, + "original_name": "Kitchen / Lights Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-51_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_lights_current_2", + "hidden_by": null, + "original_name": "Kitchen / Lights Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-51_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_lights_consumed_energy_2", + "hidden_by": null, + "original_name": "Kitchen / Lights Consumed Energy", + "platform": "sensor", + "state": "1223102142.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-51_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_lights_net_energy_2", + "hidden_by": null, + "original_name": "Kitchen / Lights Net Energy", + "platform": "sensor", + "state": "1223101599.7", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-51_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_lights_produced_energy_2", + "hidden_by": null, + "original_name": "Kitchen / Lights Produced Energy", + "platform": "sensor", + "state": "543.2", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-51_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_lights_power_2", + "hidden_by": null, + "original_name": "Kitchen / Lights Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-52_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_bedroom_lights_breaker_rating", + "hidden_by": null, + "original_name": "Bedroom / Lights Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-52_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bedroom_lights_current", + "hidden_by": null, + "original_name": "Bedroom / Lights Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-52_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bedroom_lights_consumed_energy", + "hidden_by": null, + "original_name": "Bedroom / Lights Consumed Energy", + "platform": "sensor", + "state": "494.8", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-52_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bedroom_lights_net_energy", + "hidden_by": null, + "original_name": "Bedroom / Lights Net Energy", + "platform": "sensor", + "state": "107.3", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-52_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bedroom_lights_produced_energy", + "hidden_by": null, + "original_name": "Bedroom / Lights Produced Energy", + "platform": "sensor", + "state": "387.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-52_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bedroom_lights_power", + "hidden_by": null, + "original_name": "Bedroom / Lights Power", + "platform": "sensor", + "state": "-0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-53_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_bedroom_outlets_breaker_rating_2", + "hidden_by": null, + "original_name": "Bedroom / Outlets Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-53_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bedroom_outlets_current_2", + "hidden_by": null, + "original_name": "Bedroom / Outlets Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-53_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bedroom_outlets_consumed_energy_2", + "hidden_by": null, + "original_name": "Bedroom / Outlets Consumed Energy", + "platform": "sensor", + "state": "494.8", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-53_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bedroom_outlets_net_energy_2", + "hidden_by": null, + "original_name": "Bedroom / Outlets Net Energy", + "platform": "sensor", + "state": "107.3", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-53_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bedroom_outlets_produced_energy_2", + "hidden_by": null, + "original_name": "Bedroom / Outlets Produced Energy", + "platform": "sensor", + "state": "387.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-53_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_bedroom_outlets_power_2", + "hidden_by": null, + "original_name": "Bedroom / Outlets Power", + "platform": "sensor", + "state": "-0.1", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-54_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_living_room_outlets_breaker_rating", + "hidden_by": null, + "original_name": "Living room / Outlets Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-54_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_living_room_outlets_current", + "hidden_by": null, + "original_name": "Living room / Outlets Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-54_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_living_room_outlets_consumed_energy", + "hidden_by": null, + "original_name": "Living room / Outlets Consumed Energy", + "platform": "sensor", + "state": "735.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-54_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_living_room_outlets_net_energy", + "hidden_by": null, + "original_name": "Living room / Outlets Net Energy", + "platform": "sensor", + "state": "149.3", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-54_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_living_room_outlets_produced_energy", + "hidden_by": null, + "original_name": "Living room / Outlets Produced Energy", + "platform": "sensor", + "state": "586.6", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-54_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_living_room_outlets_power", + "hidden_by": null, + "original_name": "Living room / Outlets Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-55_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_living_room_lights_breaker_rating", + "hidden_by": null, + "original_name": "Living room / Lights Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-55_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_living_room_lights_current", + "hidden_by": null, + "original_name": "Living room / Lights Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-55_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_living_room_lights_consumed_energy", + "hidden_by": null, + "original_name": "Living room / Lights Consumed Energy", + "platform": "sensor", + "state": "735.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-55_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_living_room_lights_net_energy", + "hidden_by": null, + "original_name": "Living room / Lights Net Energy", + "platform": "sensor", + "state": "149.3", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-55_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_living_room_lights_produced_energy", + "hidden_by": null, + "original_name": "Living room / Lights Produced Energy", + "platform": "sensor", + "state": "586.6", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-55_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_living_room_lights_power", + "hidden_by": null, + "original_name": "Living room / Lights Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-56_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_dining_room_outlets_breaker_rating", + "hidden_by": null, + "original_name": "Dining room / Outlets Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-56_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_dining_room_outlets_current", + "hidden_by": null, + "original_name": "Dining room / Outlets Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-56_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_dining_room_outlets_consumed_energy", + "hidden_by": null, + "original_name": "Dining room / Outlets Consumed Energy", + "platform": "sensor", + "state": "715.0", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-56_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_dining_room_outlets_net_energy", + "hidden_by": null, + "original_name": "Dining room / Outlets Net Energy", + "platform": "sensor", + "state": "144.7", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-56_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_dining_room_outlets_produced_energy", + "hidden_by": null, + "original_name": "Dining room / Outlets Produced Energy", + "platform": "sensor", + "state": "570.3", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-56_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_dining_room_outlets_power", + "hidden_by": null, + "original_name": "Dining room / Outlets Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-57_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_dining_room_lights_breaker_rating", + "hidden_by": null, + "original_name": "Dining room / Lights Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-57_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_dining_room_lights_current", + "hidden_by": null, + "original_name": "Dining room / Lights Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-57_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_dining_room_lights_consumed_energy", + "hidden_by": null, + "original_name": "Dining room / Lights Consumed Energy", + "platform": "sensor", + "state": "715.0", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-57_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_dining_room_lights_net_energy", + "hidden_by": null, + "original_name": "Dining room / Lights Net Energy", + "platform": "sensor", + "state": "144.7", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-57_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_dining_room_lights_produced_energy", + "hidden_by": null, + "original_name": "Dining room / Lights Produced Energy", + "platform": "sensor", + "state": "570.3", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-57_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_dining_room_lights_power", + "hidden_by": null, + "original_name": "Dining room / Lights Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-5_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_electric_range_breaker_rating", + "hidden_by": null, + "original_name": "Electric range Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-5_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_electric_range_current", + "hidden_by": null, + "original_name": "Electric range Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-5_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_electric_range_consumed_energy", + "hidden_by": null, + "original_name": "Electric range Consumed Energy", + "platform": "sensor", + "state": "8385.6", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-5_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_electric_range_net_energy", + "hidden_by": null, + "original_name": "Electric range Net Energy", + "platform": "sensor", + "state": "7981.2", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-5_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_electric_range_produced_energy", + "hidden_by": null, + "original_name": "Electric range Produced Energy", + "platform": "sensor", + "state": "404.4", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-5_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_electric_range_power", + "hidden_by": null, + "original_name": "Electric range Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-60_breaker_rating": { + "device": "xg-6159-74dlx_evse_dt-6692-e9t57", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_ev_charger_span_drive_breaker_rating", + "hidden_by": null, + "original_name": "Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-60_current": { + "device": "xg-6159-74dlx_evse_dt-6692-e9t57", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_ev_charger_span_drive_current", + "hidden_by": null, + "original_name": "Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-60_energy_consumed": { + "device": "xg-6159-74dlx_evse_dt-6692-e9t57", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_ev_charger_span_drive_consumed_energy", + "hidden_by": null, + "original_name": "Consumed Energy", + "platform": "sensor", + "state": "4770835.0", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-60_energy_net": { + "device": "xg-6159-74dlx_evse_dt-6692-e9t57", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_ev_charger_span_drive_net_energy", + "hidden_by": null, + "original_name": "Net Energy", + "platform": "sensor", + "state": "4770660.3", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-60_energy_produced": { + "device": "xg-6159-74dlx_evse_dt-6692-e9t57", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_ev_charger_span_drive_produced_energy", + "hidden_by": null, + "original_name": "Produced Energy", + "platform": "sensor", + "state": "174.7", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-60_power": { + "device": "xg-6159-74dlx_evse_dt-6692-e9t57", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_ev_charger_span_drive_power", + "hidden_by": null, + "original_name": "Power", + "platform": "sensor", + "state": "1.3", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-6_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_microwave_breaker_rating", + "hidden_by": null, + "original_name": "Microwave Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-6_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_microwave_current", + "hidden_by": null, + "original_name": "Microwave Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-6_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_microwave_consumed_energy", + "hidden_by": null, + "original_name": "Microwave Consumed Energy", + "platform": "sensor", + "state": "5934.2", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-6_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_microwave_net_energy", + "hidden_by": null, + "original_name": "Microwave Net Energy", + "platform": "sensor", + "state": "5689.2", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-6_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_microwave_produced_energy", + "hidden_by": null, + "original_name": "Microwave Produced Energy", + "platform": "sensor", + "state": "245.0", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-6_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_microwave_power", + "hidden_by": null, + "original_name": "Microwave Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-7_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_primary_bath_outlets_breaker_rating", + "hidden_by": null, + "original_name": "Primary Bath Outlets Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-7_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_primary_bath_outlets_current", + "hidden_by": null, + "original_name": "Primary Bath Outlets Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-7_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_primary_bath_outlets_consumed_energy", + "hidden_by": null, + "original_name": "Primary Bath Outlets Consumed Energy", + "platform": "sensor", + "state": "37343.3", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-7_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_primary_bath_outlets_net_energy", + "hidden_by": null, + "original_name": "Primary Bath Outlets Net Energy", + "platform": "sensor", + "state": "36796.4", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-7_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_primary_bath_outlets_produced_energy", + "hidden_by": null, + "original_name": "Primary Bath Outlets Produced Energy", + "platform": "sensor", + "state": "546.9", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-7_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_primary_bath_outlets_power", + "hidden_by": null, + "original_name": "Primary Bath Outlets Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-8_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_kitchen_outlets_breaker_rating", + "hidden_by": null, + "original_name": "Kitchen / Outlets Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-8_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_outlets_current", + "hidden_by": null, + "original_name": "Kitchen / Outlets Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-8_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_outlets_consumed_energy", + "hidden_by": null, + "original_name": "Kitchen / Outlets Consumed Energy", + "platform": "sensor", + "state": "536.0", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-8_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_outlets_net_energy", + "hidden_by": null, + "original_name": "Kitchen / Outlets Net Energy", + "platform": "sensor", + "state": "132.3", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-8_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_outlets_produced_energy", + "hidden_by": null, + "original_name": "Kitchen / Outlets Produced Energy", + "platform": "sensor", + "state": "403.7", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-8_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_kitchen_outlets_power", + "hidden_by": null, + "original_name": "Kitchen / Outlets Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_circuit-9_breaker_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_family_room_breaker_rating", + "hidden_by": null, + "original_name": "Family Room Breaker Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-9_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_family_room_current", + "hidden_by": null, + "original_name": "Family Room Current", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_circuit-9_energy_consumed": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_family_room_consumed_energy", + "hidden_by": null, + "original_name": "Family Room Consumed Energy", + "platform": "sensor", + "state": "15724.0", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-9_energy_net": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_family_room_net_energy", + "hidden_by": null, + "original_name": "Family Room Net Energy", + "platform": "sensor", + "state": "15349.5", + "state_class": "total", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-9_energy_produced": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_family_room_produced_energy", + "hidden_by": null, + "original_name": "Family Room Produced Energy", + "platform": "sensor", + "state": "374.5", + "state_class": "total_increasing", + "translation_key": null, + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_circuit-9_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_family_room_power", + "hidden_by": null, + "original_name": "Family Room Power", + "platform": "sensor", + "state": "0.0", + "state_class": "measurement", + "translation_key": null, + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_current_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_current_power", + "hidden_by": null, + "original_name": "Current Power", + "platform": "sensor", + "state": "18.4", + "state_class": "measurement", + "translation_key": "instant_grid_power", + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_current_run_config": { + "device": "xg-6159-74dlx", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_current_run_config", + "hidden_by": null, + "original_name": "Current Run Config", + "platform": "sensor", + "state": "panel_on_grid", + "state_class": null, + "translation_key": "current_run_config", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_doorState": { + "device": "xg-6159-74dlx", + "device_class": "tamper", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_door_state", + "hidden_by": null, + "original_name": "Door State", + "platform": "binary_sensor", + "state": "off", + "state_class": null, + "translation_key": "door_state", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_downstream_l1_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_downstream_l1_current", + "hidden_by": null, + "original_name": "Downstream L1 Current", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "downstream_l1_current", + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_downstream_l2_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_downstream_l2_current", + "hidden_by": null, + "original_name": "Downstream L2 Current", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "downstream_l2_current", + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_dsm_grid_state": { + "device": "xg-6159-74dlx", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_dsm_grid_state", + "hidden_by": null, + "original_name": "DSM Grid State", + "platform": "sensor", + "state": "dsm_on_grid", + "state_class": null, + "translation_key": "dsm_grid_state", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_dsm_state": { + "device": "xg-6159-74dlx", + "device_class": "enum", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_dsm_state", + "hidden_by": null, + "original_name": "DSM State", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "dsm_state", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_eth0Link": { + "device": "xg-6159-74dlx", + "device_class": "connectivity", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_ethernet_link", + "hidden_by": null, + "original_name": "Ethernet Link", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "ethernet_link", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_evse_dt-6692-e9t57_evse_charge_current_limit": { + "device": "xg-6159-74dlx_evse_dt-6692-e9t57", + "device_class": "current", + "disabled_by": null, + "entity_category": "config", + "entity_id": "number.span_panel_ev_charger_span_drive_evse_charge_current_limit", + "hidden_by": null, + "original_name": "EVSE Charge Current Limit", + "platform": "number", + "state": "48", + "state_class": null, + "translation_key": "evse_charge_current_limit", + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_evse_dt-6692-e9t57_evse_charging": { + "device": "xg-6159-74dlx_evse_dt-6692-e9t57", + "device_class": "battery_charging", + "disabled_by": null, + "entity_category": null, + "entity_id": "binary_sensor.span_panel_ev_charger_span_drive_charging", + "hidden_by": null, + "original_name": "Charging", + "platform": "binary_sensor", + "state": "off", + "state_class": null, + "translation_key": "evse_charging", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_evse_dt-6692-e9t57_evse_ev_connected": { + "device": "xg-6159-74dlx_evse_dt-6692-e9t57", + "device_class": "plug", + "disabled_by": null, + "entity_category": null, + "entity_id": "binary_sensor.span_panel_ev_charger_span_drive_ev_connected", + "hidden_by": null, + "original_name": "EV Connected", + "platform": "binary_sensor", + "state": "off", + "state_class": null, + "translation_key": "evse_ev_connected", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_evse_dt-6692-e9t57_evse_lock_state": { + "device": "xg-6159-74dlx_evse_dt-6692-e9t57", + "device_class": "enum", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_ev_charger_span_drive_lock_state", + "hidden_by": null, + "original_name": "Lock State", + "platform": "sensor", + "state": "unlocked", + "state_class": null, + "translation_key": "evse_lock_state", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_evse_dt-6692-e9t57_evse_panel_link": { + "device": "xg-6159-74dlx_evse_dt-6692-e9t57", + "device_class": "connectivity", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_ev_charger_span_drive_evse_panel_link", + "hidden_by": null, + "original_name": "EVSE Panel Link", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "evse_panel_link", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_evse_dt-6692-e9t57_evse_part_number": { + "device": "xg-6159-74dlx_evse_dt-6692-e9t57", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_ev_charger_span_drive_part_number", + "hidden_by": null, + "original_name": "Part Number", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "evse_part_number", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_evse_dt-6692-e9t57_evse_status": { + "device": "xg-6159-74dlx_evse_dt-6692-e9t57", + "device_class": "enum", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_ev_charger_span_drive_charger_status", + "hidden_by": null, + "original_name": "Charger Status", + "platform": "sensor", + "state": "unavailable", + "state_class": null, + "translation_key": "evse_status", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_evse_dt-6692-e9t57_lock": { + "device": "xg-6159-74dlx_evse_dt-6692-e9t57", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "lock.span_panel_ev_charger_span_drive_evse_lock", + "hidden_by": null, + "original_name": "EVSE Lock", + "platform": "lock", + "state": "unlocked", + "state_class": null, + "translation_key": "evse_lock", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_feed_through_consumed_energy": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_feed_through_consumed_energy", + "hidden_by": null, + "original_name": "Feed Through Consumed Energy", + "platform": "sensor", + "state": null, + "state_class": "total", + "translation_key": "feedthrough_consumed_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_feed_through_net_energy": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_feed_through_net_energy", + "hidden_by": null, + "original_name": "Feed Through Net Energy", + "platform": "sensor", + "state": null, + "state_class": "total", + "translation_key": "feedthrough_net_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_feed_through_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_feed_through_power", + "hidden_by": null, + "original_name": "Feed Through Power", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "feedthrough_power", + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_feed_through_produced_energy": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_feed_through_produced_energy", + "hidden_by": null, + "original_name": "Feed Through Produced Energy", + "platform": "sensor", + "state": null, + "state_class": "total", + "translation_key": "feedthrough_produced_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_frequency": { + "device": "xg-6159-74dlx", + "device_class": "frequency", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_frequency", + "hidden_by": null, + "original_name": "Frequency", + "platform": "sensor", + "state": "60.01", + "state_class": "measurement", + "translation_key": "frequency", + "unit_of_measurement": "Hz" + }, + "span_xg-6159-74dlx_grid_forming_entity": { + "device": "xg-6159-74dlx", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_grid_forming_entity", + "hidden_by": null, + "original_name": "Grid Forming Entity", + "platform": "sensor", + "state": "grid", + "state_class": null, + "translation_key": "grid_forming_entity", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_grid_islandable": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_grid_islandable", + "hidden_by": null, + "original_name": "Grid Islandable", + "platform": "binary_sensor", + "state": "off", + "state_class": null, + "translation_key": "grid_islandable", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_grid_power_flow": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_grid_power", + "hidden_by": null, + "original_name": "Grid Power", + "platform": "sensor", + "state": "18.4", + "state_class": "measurement", + "translation_key": "grid_power_flow", + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_l1_voltage": { + "device": "xg-6159-74dlx", + "device_class": "voltage", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_l1_voltage", + "hidden_by": null, + "original_name": "L1 Voltage", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "l1_voltage", + "unit_of_measurement": "V" + }, + "span_xg-6159-74dlx_l2_voltage": { + "device": "xg-6159-74dlx", + "device_class": "voltage", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_l2_voltage", + "hidden_by": null, + "original_name": "L2 Voltage", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "l2_voltage", + "unit_of_measurement": "V" + }, + "span_xg-6159-74dlx_main_meter_consumed_energy": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_main_meter_consumed_energy", + "hidden_by": null, + "original_name": "Main Meter Consumed Energy", + "platform": "sensor", + "state": "3550605.9", + "state_class": "total_increasing", + "translation_key": "main_meter_consumed_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_main_meter_net_energy": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": "integration", + "entity_category": null, + "entity_id": "sensor.span_panel_main_meter_net_energy", + "hidden_by": null, + "original_name": "Main Meter Net Energy", + "platform": "sensor", + "state": null, + "state_class": "total", + "translation_key": "main_meter_net_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_main_meter_produced_energy": { + "device": "xg-6159-74dlx", + "device_class": "energy", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_main_meter_produced_energy", + "hidden_by": null, + "original_name": "Main Meter Produced Energy", + "platform": "sensor", + "state": "181.4", + "state_class": "total_increasing", + "translation_key": "main_meter_produced_energy", + "unit_of_measurement": "Wh" + }, + "span_xg-6159-74dlx_main_relay_state": { + "device": "xg-6159-74dlx", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_main_relay_state", + "hidden_by": null, + "original_name": "Main Relay State", + "platform": "sensor", + "state": "unknown", + "state_class": null, + "translation_key": "main_relay_state", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_panel_status": { + "device": "xg-6159-74dlx", + "device_class": "connectivity", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_panel_status", + "hidden_by": null, + "original_name": "Panel Status", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "panel_status", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_pcs_active": { + "device": "xg-6159-74dlx", + "device_class": "running", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_pcs_active", + "hidden_by": null, + "original_name": "PCS Active", + "platform": "binary_sensor", + "state": "on", + "state_class": null, + "translation_key": "pcs_active", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_pcs_binding_constraint": { + "device": "xg-6159-74dlx", + "device_class": "enum", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_binding_constraint", + "hidden_by": null, + "original_name": "Binding Constraint", + "platform": "sensor", + "state": "fsr", + "state_class": null, + "translation_key": "pcs_binding_constraint", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_pcs_import_limit": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_import_limit", + "hidden_by": null, + "original_name": "Import Limit", + "platform": "sensor", + "state": "180.0", + "state_class": "measurement", + "translation_key": "pcs_import_limit", + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_relay_circuit-1": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_hvac_breaker", + "hidden_by": null, + "original_name": "HVAC Breaker", + "platform": "switch", + "state": "off", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-12": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_kitchen_sink_garbage_disposal_breaker", + "hidden_by": null, + "original_name": "Kitchen Sink Garbage Disposal Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-13": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_dishwasher_breaker", + "hidden_by": null, + "original_name": "Dishwasher Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-14": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_main_office_fam_tv_breaker", + "hidden_by": null, + "original_name": "Main Office & Fam TV Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-15": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_basement_outlets_french_door_wall_breaker", + "hidden_by": null, + "original_name": "Basement Outlets French Door Wall Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-16": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_basement_lights_outlets_breaker", + "hidden_by": null, + "original_name": "Basement / Lights & Outlets Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-17": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_utility_room_breaker", + "hidden_by": null, + "original_name": "Utility Room Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-18": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_hood_breaker", + "hidden_by": null, + "original_name": "Hood Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-19": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_basement_lights_outlets_breaker_2", + "hidden_by": null, + "original_name": "Basement / Lights & Outlets Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-2": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_heat_pump_water_heater_breaker", + "hidden_by": null, + "original_name": "Heat Pump Water Heater Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-21": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_electric_infared_sauna_breaker", + "hidden_by": null, + "original_name": "Electric Infared Sauna Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-22": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_main_office_dedicated_outlets_breaker", + "hidden_by": null, + "original_name": "Main Office Dedicated Outlets Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-23": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_bidet_outlets_basement_main_floor_breaker", + "hidden_by": null, + "original_name": "Bidet Outlets Basement & Main Floor Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-24": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_dining_room_lights_outlets_breaker", + "hidden_by": null, + "original_name": "Dining room / Lights & Outlets Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-25": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_kitchen_fr_door_isle_alt_outlets_breaker", + "hidden_by": null, + "original_name": "Kitchen fr. door & Isle Alt. Outlets Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-26": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_furnace_breaker", + "hidden_by": null, + "original_name": "Furnace Breaker", + "platform": "switch", + "state": "off", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-27": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_bed_2_shared_bath_lights_outlets_breaker", + "hidden_by": null, + "original_name": "Bed 2 & Shared Bath Lights & Outlets Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-28": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_primary_bedroom_lights_outlets_breaker", + "hidden_by": null, + "original_name": "Primary bedroom / Lights & Outlets Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-3": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_electric_double_oven_breaker", + "hidden_by": null, + "original_name": "Electric Double-Oven Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-30": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_primary_bath_closets_breaker", + "hidden_by": null, + "original_name": "Primary Bath & Closets Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-31": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_smoke_co_detectors_breaker", + "hidden_by": null, + "original_name": "Smoke/CO Detectors Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-32": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_basement_outlets_exit_door_wall_breaker", + "hidden_by": null, + "original_name": "Basement Outlets exit door wall Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-33": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_living_room_lights_outlets_breaker", + "hidden_by": null, + "original_name": "Living room / Lights & Outlets Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-34": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_sump_pump_breaker", + "hidden_by": null, + "original_name": "Sump Pump Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-35": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_kitchen_lights_breaker", + "hidden_by": null, + "original_name": "Kitchen / Lights Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-36": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_security_system_breaker", + "hidden_by": null, + "original_name": "Security system Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-37": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_refrigerator_breaker", + "hidden_by": null, + "original_name": "Refrigerator Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-38": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_freezer_breaker", + "hidden_by": null, + "original_name": "Freezer Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-4": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_laundry_room_breaker", + "hidden_by": null, + "original_name": "Laundry Room Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-41": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_utility_room_dedicated_breaker", + "hidden_by": null, + "original_name": "Utility Room Dedicated Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-48": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_bedroom_outlets_breaker", + "hidden_by": null, + "original_name": "Bedroom / Outlets Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-49": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_bathroom_outlets_breaker", + "hidden_by": null, + "original_name": "Bathroom / Outlets Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-5": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_electric_range_breaker", + "hidden_by": null, + "original_name": "Electric range Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-50": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_kitchen_outlets_breaker_2", + "hidden_by": null, + "original_name": "Kitchen / Outlets Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-51": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_kitchen_lights_breaker_2", + "hidden_by": null, + "original_name": "Kitchen / Lights Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-52": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_bedroom_lights_breaker", + "hidden_by": null, + "original_name": "Bedroom / Lights Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-53": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_bedroom_outlets_breaker_2", + "hidden_by": null, + "original_name": "Bedroom / Outlets Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-54": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_living_room_outlets_breaker", + "hidden_by": null, + "original_name": "Living room / Outlets Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-55": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_living_room_lights_breaker", + "hidden_by": null, + "original_name": "Living room / Lights Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-56": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_dining_room_outlets_breaker", + "hidden_by": null, + "original_name": "Dining room / Outlets Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-57": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_dining_room_lights_breaker", + "hidden_by": null, + "original_name": "Dining room / Lights Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-6": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_microwave_breaker", + "hidden_by": null, + "original_name": "Microwave Breaker", + "platform": "switch", + "state": "off", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-7": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_primary_bath_outlets_breaker", + "hidden_by": null, + "original_name": "Primary Bath Outlets Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-8": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_kitchen_outlets_breaker", + "hidden_by": null, + "original_name": "Kitchen / Outlets Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_relay_circuit-9": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": null, + "entity_id": "switch.span_panel_family_room_breaker", + "hidden_by": null, + "original_name": "Family Room Breaker", + "platform": "switch", + "state": "on", + "state_class": null, + "translation_key": null, + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-1": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_hvac_circuit_priority", + "hidden_by": null, + "original_name": "HVAC Circuit Priority", + "platform": "select", + "state": "off_grid", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-12": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_kitchen_sink_garbage_disposal_circuit_priority", + "hidden_by": null, + "original_name": "Kitchen Sink Garbage Disposal Circuit Priority", + "platform": "select", + "state": "soc_threshold", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-13": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_dishwasher_circuit_priority", + "hidden_by": null, + "original_name": "Dishwasher Circuit Priority", + "platform": "select", + "state": "soc_threshold", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-14": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_main_office_fam_tv_circuit_priority", + "hidden_by": null, + "original_name": "Main Office & Fam TV Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-15": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_basement_outlets_french_door_wall_circuit_priority", + "hidden_by": null, + "original_name": "Basement Outlets French Door Wall Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-16": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_basement_lights_outlets_circuit_priority", + "hidden_by": null, + "original_name": "Basement / Lights & Outlets Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-17": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_utility_room_circuit_priority", + "hidden_by": null, + "original_name": "Utility Room Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-18": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_hood_circuit_priority", + "hidden_by": null, + "original_name": "Hood Circuit Priority", + "platform": "select", + "state": "unknown", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-19": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_basement_lights_outlets_circuit_priority_2", + "hidden_by": null, + "original_name": "Basement / Lights & Outlets Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-2": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_heat_pump_water_heater_circuit_priority", + "hidden_by": null, + "original_name": "Heat Pump Water Heater Circuit Priority", + "platform": "select", + "state": "soc_threshold", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-21": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_electric_infared_sauna_circuit_priority", + "hidden_by": null, + "original_name": "Electric Infared Sauna Circuit Priority", + "platform": "select", + "state": "off_grid", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-22": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_main_office_dedicated_outlets_circuit_priority", + "hidden_by": null, + "original_name": "Main Office Dedicated Outlets Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-23": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_bidet_outlets_basement_main_floor_circuit_priority", + "hidden_by": null, + "original_name": "Bidet Outlets Basement & Main Floor Circuit Priority", + "platform": "select", + "state": "off_grid", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-24": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_dining_room_lights_outlets_circuit_priority", + "hidden_by": null, + "original_name": "Dining room / Lights & Outlets Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-25": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_kitchen_fr_door_isle_alt_outlets_circuit_priority", + "hidden_by": null, + "original_name": "Kitchen fr. door & Isle Alt. Outlets Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-26": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_furnace_circuit_priority", + "hidden_by": null, + "original_name": "Furnace Circuit Priority", + "platform": "select", + "state": "soc_threshold", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-27": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_bed_2_shared_bath_lights_outlets_circuit_priority", + "hidden_by": null, + "original_name": "Bed 2 & Shared Bath Lights & Outlets Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-28": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_primary_bedroom_lights_outlets_circuit_priority", + "hidden_by": null, + "original_name": "Primary bedroom / Lights & Outlets Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-3": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_electric_double_oven_circuit_priority", + "hidden_by": null, + "original_name": "Electric Double-Oven Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-30": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_primary_bath_closets_circuit_priority", + "hidden_by": null, + "original_name": "Primary Bath & Closets Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-31": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_smoke_co_detectors_circuit_priority", + "hidden_by": null, + "original_name": "Smoke/CO Detectors Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-32": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_basement_outlets_exit_door_wall_circuit_priority", + "hidden_by": null, + "original_name": "Basement Outlets exit door wall Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-33": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_living_room_lights_outlets_circuit_priority", + "hidden_by": null, + "original_name": "Living room / Lights & Outlets Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-34": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_sump_pump_circuit_priority", + "hidden_by": null, + "original_name": "Sump Pump Circuit Priority", + "platform": "select", + "state": "off_grid", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-35": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_kitchen_lights_circuit_priority", + "hidden_by": null, + "original_name": "Kitchen / Lights Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-36": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_security_system_circuit_priority", + "hidden_by": null, + "original_name": "Security system Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-37": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_refrigerator_circuit_priority", + "hidden_by": null, + "original_name": "Refrigerator Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-38": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_freezer_circuit_priority", + "hidden_by": null, + "original_name": "Freezer Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-4": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_laundry_room_circuit_priority", + "hidden_by": null, + "original_name": "Laundry Room Circuit Priority", + "platform": "select", + "state": "off_grid", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-41": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_utility_room_dedicated_circuit_priority", + "hidden_by": null, + "original_name": "Utility Room Dedicated Circuit Priority", + "platform": "select", + "state": "off_grid", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-48": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_bedroom_outlets_circuit_priority", + "hidden_by": null, + "original_name": "Bedroom / Outlets Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-49": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_bathroom_outlets_circuit_priority", + "hidden_by": null, + "original_name": "Bathroom / Outlets Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-5": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_electric_range_circuit_priority", + "hidden_by": null, + "original_name": "Electric range Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-50": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_kitchen_outlets_circuit_priority_2", + "hidden_by": null, + "original_name": "Kitchen / Outlets Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-51": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_kitchen_lights_circuit_priority_2", + "hidden_by": null, + "original_name": "Kitchen / Lights Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-52": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_bedroom_lights_circuit_priority", + "hidden_by": null, + "original_name": "Bedroom / Lights Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-53": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_bedroom_outlets_circuit_priority_2", + "hidden_by": null, + "original_name": "Bedroom / Outlets Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-54": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_living_room_outlets_circuit_priority", + "hidden_by": null, + "original_name": "Living room / Outlets Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-55": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_living_room_lights_circuit_priority", + "hidden_by": null, + "original_name": "Living room / Lights Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-56": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_dining_room_outlets_circuit_priority", + "hidden_by": null, + "original_name": "Dining room / Outlets Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-57": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_dining_room_lights_circuit_priority", + "hidden_by": null, + "original_name": "Dining room / Lights Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-6": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_microwave_circuit_priority", + "hidden_by": null, + "original_name": "Microwave Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-7": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_primary_bath_outlets_circuit_priority", + "hidden_by": null, + "original_name": "Primary Bath Outlets Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-8": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_kitchen_outlets_circuit_priority", + "hidden_by": null, + "original_name": "Kitchen / Outlets Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_select_circuit-9": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "config", + "entity_id": "select.span_panel_family_room_circuit_priority", + "hidden_by": null, + "original_name": "Family Room Circuit Priority", + "platform": "select", + "state": "never", + "state_class": null, + "translation_key": "circuit_priority", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_site_power": { + "device": "xg-6159-74dlx", + "device_class": "power", + "disabled_by": null, + "entity_category": null, + "entity_id": "sensor.span_panel_site_power", + "hidden_by": null, + "original_name": "Site Power", + "platform": "sensor", + "state": "6.2", + "state_class": "measurement", + "translation_key": "site_power", + "unit_of_measurement": "W" + }, + "span_xg-6159-74dlx_software_version": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_software_version", + "hidden_by": null, + "original_name": "Software Version", + "platform": "sensor", + "state": "spanos3/r202639/03", + "state_class": null, + "translation_key": "software_version", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_upstream_l1_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_upstream_l1_current", + "hidden_by": null, + "original_name": "Upstream L1 Current", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "upstream_l1_current", + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_upstream_l2_current": { + "device": "xg-6159-74dlx", + "device_class": "current", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_upstream_l2_current", + "hidden_by": null, + "original_name": "Upstream L2 Current", + "platform": "sensor", + "state": null, + "state_class": "measurement", + "translation_key": "upstream_l2_current", + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_upstream_protection_rating": { + "device": "xg-6159-74dlx", + "device_class": null, + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_upstream_protection_rating", + "hidden_by": null, + "original_name": "Upstream Protection Rating", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "upstream_protection_rating", + "unit_of_measurement": "A" + }, + "span_xg-6159-74dlx_vendor_cloud": { + "device": "xg-6159-74dlx", + "device_class": "enum", + "disabled_by": "integration", + "entity_category": "diagnostic", + "entity_id": "sensor.span_panel_vendor_cloud", + "hidden_by": null, + "original_name": "Vendor Cloud", + "platform": "sensor", + "state": null, + "state_class": null, + "translation_key": "vendor_cloud", + "unit_of_measurement": null + }, + "span_xg-6159-74dlx_wlanLink": { + "device": "xg-6159-74dlx", + "device_class": "connectivity", + "disabled_by": null, + "entity_category": "diagnostic", + "entity_id": "binary_sensor.span_panel_wi_fi_link", + "hidden_by": null, + "original_name": "Wi-Fi Link", + "platform": "binary_sensor", + "state": "off", + "state_class": null, + "translation_key": "wifi_link", + "unit_of_measurement": null + } + } +} diff --git a/tests/fixtures/topology/main32_r202633.json b/tests/fixtures/topology/main32_r202633.json new file mode 100644 index 0000000..ca2d762 --- /dev/null +++ b/tests/fixtures/topology/main32_r202633.json @@ -0,0 +1,727 @@ +{ + "circuits": { + "15adf6fa36ada1dba2184e9bcaa7fa44": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_circuit_12_breaker_rating", + "consumed_energy": "sensor.span_panel_circuit_12_consumed_energy", + "current": "sensor.span_panel_circuit_12_current", + "net_energy": "sensor.span_panel_circuit_12_net_energy", + "power": "sensor.span_panel_circuit_12_power", + "produced_energy": "sensor.span_panel_circuit_12_produced_energy", + "select": "select.span_panel_circuit_12_circuit_priority", + "switch": "switch.span_panel_circuit_12_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Circuit 12", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 12 + ], + "voltage": 120 + }, + "1ac7fbc901ecb9d0c785dd3234b21a3c": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_circuit_10_breaker_rating", + "consumed_energy": "sensor.span_panel_circuit_10_consumed_energy", + "current": "sensor.span_panel_circuit_10_current", + "net_energy": "sensor.span_panel_circuit_10_net_energy", + "power": "sensor.span_panel_circuit_10_power", + "produced_energy": "sensor.span_panel_circuit_10_produced_energy", + "select": "select.span_panel_circuit_10_circuit_priority", + "switch": "switch.span_panel_circuit_10_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Circuit 10", + "outside_panel": false, + "priority": "SOC_THRESHOLD", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 10 + ], + "voltage": 120 + }, + "1bc992eaeb96482b1d019edecfcc18c2": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_circuit_5_breaker_rating", + "consumed_energy": "sensor.span_panel_circuit_5_consumed_energy", + "current": "sensor.span_panel_circuit_5_current", + "net_energy": "sensor.span_panel_circuit_5_net_energy", + "power": "sensor.span_panel_circuit_5_power", + "produced_energy": "sensor.span_panel_circuit_5_produced_energy", + "select": "select.span_panel_circuit_5_circuit_priority", + "switch": "switch.span_panel_circuit_5_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Circuit 5", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 5 + ], + "voltage": 120 + }, + "26ae0676844ed69346cccae68c2d516a": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_circuit_19_breaker_rating", + "consumed_energy": "sensor.span_panel_circuit_19_consumed_energy", + "current": "sensor.span_panel_circuit_19_current", + "net_energy": "sensor.span_panel_circuit_19_net_energy", + "power": "sensor.span_panel_circuit_19_power", + "produced_energy": "sensor.span_panel_circuit_19_produced_energy", + "select": "select.span_panel_circuit_19_circuit_priority", + "switch": "switch.span_panel_circuit_19_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Circuit 19", + "outside_panel": false, + "priority": "SOC_THRESHOLD", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 24 + ], + "voltage": 120 + }, + "2835afc8a591cc382c4972a3538b824f": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_circuit_6_breaker_rating", + "consumed_energy": "sensor.span_panel_circuit_6_consumed_energy", + "current": "sensor.span_panel_circuit_6_current", + "net_energy": "sensor.span_panel_circuit_6_net_energy", + "power": "sensor.span_panel_circuit_6_power", + "produced_energy": "sensor.span_panel_circuit_6_produced_energy", + "select": "select.span_panel_circuit_6_circuit_priority", + "switch": "switch.span_panel_circuit_6_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Circuit 6", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 6 + ], + "voltage": 120 + }, + "2e591e0d0cdc0e8bdbfdccbfc86d14ca": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_circuit_18_breaker_rating", + "consumed_energy": "sensor.span_panel_circuit_18_consumed_energy", + "current": "sensor.span_panel_circuit_18_current", + "net_energy": "sensor.span_panel_circuit_18_net_energy", + "power": "sensor.span_panel_circuit_18_power", + "produced_energy": "sensor.span_panel_circuit_18_produced_energy", + "select": "select.span_panel_circuit_18_circuit_priority", + "switch": "switch.span_panel_circuit_18_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Circuit 18", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 22 + ], + "voltage": 120 + }, + "367c30fcffa7ac59fe428d7c426bd19d": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_circuit_1_breaker_rating", + "consumed_energy": "sensor.span_panel_circuit_1_consumed_energy", + "current": "sensor.span_panel_circuit_1_current", + "net_energy": "sensor.span_panel_circuit_1_net_energy", + "power": "sensor.span_panel_circuit_1_power", + "produced_energy": "sensor.span_panel_circuit_1_produced_energy", + "select": "select.span_panel_circuit_1_circuit_priority", + "switch": "switch.span_panel_circuit_1_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Circuit 1", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 1 + ], + "voltage": 120 + }, + "36afaccafd19b2bfbcb6fcb5d6089399": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_circuit_2_breaker_rating", + "consumed_energy": "sensor.span_panel_circuit_2_consumed_energy", + "current": "sensor.span_panel_circuit_2_current", + "net_energy": "sensor.span_panel_circuit_2_net_energy", + "power": "sensor.span_panel_circuit_2_power", + "produced_energy": "sensor.span_panel_circuit_2_produced_energy", + "select": "select.span_panel_circuit_2_circuit_priority", + "switch": "switch.span_panel_circuit_2_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Circuit 2", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 2 + ], + "voltage": 120 + }, + "420ee28ea3d7362dad8d341cc93e50b3": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_circuit_9_breaker_rating", + "consumed_energy": "sensor.span_panel_circuit_9_consumed_energy", + "current": "sensor.span_panel_circuit_9_current", + "net_energy": "sensor.span_panel_circuit_9_net_energy", + "power": "sensor.span_panel_circuit_9_power", + "produced_energy": "sensor.span_panel_circuit_9_produced_energy", + "select": "select.span_panel_circuit_9_circuit_priority", + "switch": "switch.span_panel_circuit_9_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Circuit 9", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 9 + ], + "voltage": 120 + }, + "45ac025e77f416de0113e7ec0514925d": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_circuit_11_breaker_rating", + "consumed_energy": "sensor.span_panel_circuit_11_consumed_energy", + "current": "sensor.span_panel_circuit_11_current", + "net_energy": "sensor.span_panel_circuit_11_net_energy", + "power": "sensor.span_panel_circuit_11_power", + "produced_energy": "sensor.span_panel_circuit_11_produced_energy", + "select": "select.span_panel_circuit_11_circuit_priority", + "switch": "switch.span_panel_circuit_11_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Circuit 11", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 11 + ], + "voltage": 120 + }, + "76321a44f69235b4702f74baf0d10aea": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_circuit_4_breaker_rating", + "consumed_energy": "sensor.span_panel_circuit_4_consumed_energy", + "current": "sensor.span_panel_circuit_4_current", + "net_energy": "sensor.span_panel_circuit_4_net_energy", + "power": "sensor.span_panel_circuit_4_power", + "produced_energy": "sensor.span_panel_circuit_4_produced_energy", + "select": "select.span_panel_circuit_4_circuit_priority", + "switch": "switch.span_panel_circuit_4_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Circuit 4", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 4 + ], + "voltage": 120 + }, + "88416e5306e0a2d1e528908967f1f9fa": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_circuit_14_breaker_rating", + "consumed_energy": "sensor.span_panel_circuit_14_consumed_energy", + "current": "sensor.span_panel_circuit_14_current", + "net_energy": "sensor.span_panel_circuit_14_net_energy", + "power": "sensor.span_panel_circuit_14_power", + "produced_energy": "sensor.span_panel_circuit_14_produced_energy", + "select": "select.span_panel_circuit_14_circuit_priority", + "switch": "switch.span_panel_circuit_14_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Circuit 14", + "outside_panel": false, + "priority": "SOC_THRESHOLD", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 14 + ], + "voltage": 120 + }, + "9af59a336ebe2cd5c5ae5ff3d8424821": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_circuit_3_breaker_rating", + "consumed_energy": "sensor.span_panel_circuit_3_consumed_energy", + "current": "sensor.span_panel_circuit_3_current", + "net_energy": "sensor.span_panel_circuit_3_net_energy", + "power": "sensor.span_panel_circuit_3_power", + "produced_energy": "sensor.span_panel_circuit_3_produced_energy", + "select": "select.span_panel_circuit_3_circuit_priority", + "switch": "switch.span_panel_circuit_3_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Circuit 3", + "outside_panel": false, + "priority": "OFF_GRID", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 3 + ], + "voltage": 120 + }, + "afd57a42ebec7cf6a5083315127698ec": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_circuit_15_breaker_rating", + "consumed_energy": "sensor.span_panel_circuit_15_consumed_energy", + "current": "sensor.span_panel_circuit_15_current", + "net_energy": "sensor.span_panel_circuit_15_net_energy", + "power": "sensor.span_panel_circuit_15_power", + "produced_energy": "sensor.span_panel_circuit_15_produced_energy", + "select": "select.span_panel_circuit_15_circuit_priority", + "switch": "switch.span_panel_circuit_15_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Circuit 15", + "outside_panel": false, + "priority": "SOC_THRESHOLD", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 16 + ], + "voltage": 120 + }, + "d1cad9b5b2be373605cc179c30a74dc3": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_circuit_7_breaker_rating", + "consumed_energy": "sensor.span_panel_circuit_7_consumed_energy", + "current": "sensor.span_panel_circuit_7_current", + "net_energy": "sensor.span_panel_circuit_7_net_energy", + "power": "sensor.span_panel_circuit_7_power", + "produced_energy": "sensor.span_panel_circuit_7_produced_energy", + "select": "select.span_panel_circuit_7_circuit_priority", + "switch": "switch.span_panel_circuit_7_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Circuit 7", + "outside_panel": false, + "priority": "OFF_GRID", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 7 + ], + "voltage": 120 + }, + "e437d9b59344dd03bc2775fb238a5692": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_circuit_13_breaker_rating", + "consumed_energy": "sensor.span_panel_circuit_13_consumed_energy", + "current": "sensor.span_panel_circuit_13_current", + "net_energy": "sensor.span_panel_circuit_13_net_energy", + "power": "sensor.span_panel_circuit_13_power", + "produced_energy": "sensor.span_panel_circuit_13_produced_energy", + "select": "select.span_panel_circuit_13_circuit_priority", + "switch": "switch.span_panel_circuit_13_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Circuit 13", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 13, + 15 + ], + "voltage": 240 + }, + "e4f6668d42f85d5a0f3300c2a6747290": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_circuit_17_breaker_rating", + "consumed_energy": "sensor.span_panel_circuit_17_consumed_energy", + "current": "sensor.span_panel_circuit_17_current", + "net_energy": "sensor.span_panel_circuit_17_net_energy", + "power": "sensor.span_panel_circuit_17_power", + "produced_energy": "sensor.span_panel_circuit_17_produced_energy", + "select": "select.span_panel_circuit_17_circuit_priority", + "switch": "switch.span_panel_circuit_17_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Circuit 17", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 20 + ], + "voltage": 120 + }, + "f45b824f00dc3829dd2ed6609d6cf17b": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_circuit_16_breaker_rating", + "consumed_energy": "sensor.span_panel_circuit_16_consumed_energy", + "current": "sensor.span_panel_circuit_16_current", + "net_energy": "sensor.span_panel_circuit_16_net_energy", + "power": "sensor.span_panel_circuit_16_power", + "produced_energy": "sensor.span_panel_circuit_16_produced_energy", + "select": "select.span_panel_circuit_16_circuit_priority", + "switch": "switch.span_panel_circuit_16_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Circuit 16", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 18 + ], + "voltage": 120 + }, + "fbaae45daa7c145806eb9c5692fec660": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_circuit_8_breaker_rating", + "consumed_energy": "sensor.span_panel_circuit_8_consumed_energy", + "current": "sensor.span_panel_circuit_8_current", + "net_energy": "sensor.span_panel_circuit_8_net_energy", + "power": "sensor.span_panel_circuit_8_power", + "produced_energy": "sensor.span_panel_circuit_8_produced_energy", + "select": "select.span_panel_circuit_8_circuit_priority", + "switch": "switch.span_panel_circuit_8_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Circuit 8", + "outside_panel": false, + "priority": "SOC_THRESHOLD", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 8 + ], + "voltage": 120 + } + }, + "config_entry_id": "entry-main32_r202633", + "device_id": "nt-0000-panel", + "device_name": "Span Panel", + "firmware": "spanos3/r202633/02", + "first_position": 1, + "last_position": 32, + "panel_device_id": "nt-0000-panel", + "panel_entities": { + "battery_level": "sensor.span_panel_battery_battery_level", + "battery_power": "sensor.span_panel_battery_battery_power", + "current_power": "sensor.span_panel_current_power", + "downstream_l1_current": "sensor.span_panel_downstream_l1_current", + "downstream_l2_current": "sensor.span_panel_downstream_l2_current", + "dsm_state": "sensor.span_panel_dsm_grid_state", + "feedthrough_power": "sensor.span_panel_feed_through_power", + "grid_power": "sensor.span_panel_grid_power", + "l1_voltage": "sensor.span_panel_l1_voltage", + "l2_voltage": "sensor.span_panel_l2_voltage", + "main_breaker_rating": "sensor.span_panel_main_breaker_rating", + "panel_status": "binary_sensor.span_panel_panel_status", + "pv_power": "sensor.span_panel_solar_pv_power", + "site_power": "sensor.span_panel_site_power", + "upstream_l1_current": "sensor.span_panel_upstream_l1_current", + "upstream_l2_current": "sensor.span_panel_upstream_l2_current" + }, + "panel_size": 32, + "serial": "nt-0000-panel", + "sub_devices": { + "nt-0000-panel_bess": { + "entities": { + "binary_sensor.span_panel_battery_bess_connected": { + "domain": "binary_sensor", + "original_name": "BESS Connected", + "unique_id": "span_nt-0000-panel_bess_connected" + }, + "sensor.span_panel_battery_battery_level": { + "domain": "sensor", + "original_name": "Battery Level", + "unique_id": "span_nt-0000-panel_storage_battery_percentage" + }, + "sensor.span_panel_battery_battery_power": { + "domain": "sensor", + "original_name": "Battery Power", + "unique_id": "span_nt-0000-panel_battery_power" + }, + "sensor.span_panel_battery_communication_state": { + "domain": "sensor", + "original_name": "Communication State", + "unique_id": "span_nt-0000-panel_bess_communication_state" + }, + "sensor.span_panel_battery_firmware_version": { + "domain": "sensor", + "original_name": "Firmware Version", + "unique_id": "span_nt-0000-panel_bess_firmware_version" + }, + "sensor.span_panel_battery_meter_power": { + "domain": "sensor", + "original_name": "Meter Power", + "unique_id": "span_nt-0000-panel_bess_meter_power" + }, + "sensor.span_panel_battery_model": { + "domain": "sensor", + "original_name": "Model", + "unique_id": "span_nt-0000-panel_bess_model" + }, + "sensor.span_panel_battery_nameplate_capacity": { + "domain": "sensor", + "original_name": "Nameplate Capacity", + "unique_id": "span_nt-0000-panel_bess_nameplate_capacity" + }, + "sensor.span_panel_battery_part_number": { + "domain": "sensor", + "original_name": "Part Number", + "unique_id": "span_nt-0000-panel_bess_part_number" + }, + "sensor.span_panel_battery_serial_number": { + "domain": "sensor", + "original_name": "Serial Number", + "unique_id": "span_nt-0000-panel_bess_serial_number" + }, + "sensor.span_panel_battery_state_of_energy": { + "domain": "sensor", + "original_name": "State of Energy", + "unique_id": "span_nt-0000-panel_bess_soe_kwh" + }, + "sensor.span_panel_battery_vendor": { + "domain": "sensor", + "original_name": "Vendor", + "unique_id": "span_nt-0000-panel_bess_vendor" + } + }, + "manufacturer": "Tesla", + "model": "Powerwall 2 AC", + "name": "Span Panel Battery", + "serial_number": "serial0001", + "sw_version": "26.26.4 68c2bc82", + "type": "bess" + }, + "nt-0000-panel_mid": { + "entities": { + "sensor.span_panel_microgrid_interconnect_grid_state": { + "domain": "sensor", + "original_name": "Grid State", + "unique_id": "span_nt-0000-panel_mid_mid_grid_state" + } + }, + "manufacturer": "Tesla", + "model": "Microgrid Interconnect Device", + "name": "Span Panel Microgrid Interconnect", + "serial_number": "serial0002", + "sw_version": null, + "type": "mid" + }, + "nt-0000-panel_pv": { + "entities": { + "sensor.span_panel_solar_pv_nameplate_capacity": { + "domain": "sensor", + "original_name": "PV Nameplate Capacity", + "unique_id": "span_nt-0000-panel_pv_nameplate_capacity" + }, + "sensor.span_panel_solar_pv_power": { + "domain": "sensor", + "original_name": "PV Power", + "unique_id": "span_nt-0000-panel_pv_power" + }, + "sensor.span_panel_solar_pv_product": { + "domain": "sensor", + "original_name": "PV Product", + "unique_id": "span_nt-0000-panel_pv_product" + }, + "sensor.span_panel_solar_pv_vendor": { + "domain": "sensor", + "original_name": "PV Vendor", + "unique_id": "span_nt-0000-panel_pv_vendor" + } + }, + "manufacturer": "Enphase Energy", + "model": "IQ7PLUS-72-x-ACM-US-y", + "name": "Span Panel Solar", + "serial_number": null, + "solar": { + "feed_circuit_id": null, + "model": "IQ7PLUS-72-x-ACM-US-y", + "power_entity_id": null, + "role": "site", + "site_power_entity_id": "sensor.span_panel_solar_pv_power", + "vendor": "Enphase Energy" + }, + "sw_version": null, + "type": "pv" + } + } +} diff --git a/tests/fixtures/topology/main32_r202639.json b/tests/fixtures/topology/main32_r202639.json new file mode 100644 index 0000000..8cf63e5 --- /dev/null +++ b/tests/fixtures/topology/main32_r202639.json @@ -0,0 +1,652 @@ +{ + "circuits": { + "266eb903e50116147fb212879e812cd7": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_attic_back_outlet_breaker_rating", + "consumed_energy": "sensor.span_panel_attic_back_outlet_consumed_energy", + "current": "sensor.span_panel_attic_back_outlet_current", + "net_energy": "sensor.span_panel_attic_back_outlet_net_energy", + "power": "sensor.span_panel_attic_back_outlet_power", + "produced_energy": "sensor.span_panel_attic_back_outlet_produced_energy", + "select": "select.span_panel_attic_back_outlet_circuit_priority", + "switch": "switch.span_panel_attic_back_outlet_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Attic-Back-Outlet", + "outside_panel": false, + "priority": "SOC_THRESHOLD", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 5 + ], + "voltage": 120 + }, + "31f1d56b0926276e04c84360b1a31a6c": { + "always_on": false, + "breaker_rating_a": 30.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_hvac_air_handler_breaker_rating", + "consumed_energy": "sensor.span_panel_hvac_air_handler_consumed_energy", + "current": "sensor.span_panel_hvac_air_handler_current", + "net_energy": "sensor.span_panel_hvac_air_handler_net_energy", + "power": "sensor.span_panel_hvac_air_handler_power", + "produced_energy": "sensor.span_panel_hvac_air_handler_produced_energy", + "select": "select.span_panel_hvac_air_handler_circuit_priority", + "switch": "switch.span_panel_hvac_air_handler_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "HVAC-Air-Handler", + "outside_panel": false, + "priority": "OFF_GRID", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 13, + 15 + ], + "voltage": 240 + }, + "390351d21af25d6409aba2b210928f7f": { + "always_on": false, + "breaker_rating_a": 30.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_clothes_dryer_breaker_rating", + "consumed_energy": "sensor.span_panel_clothes_dryer_consumed_energy", + "current": "sensor.span_panel_clothes_dryer_current", + "net_energy": "sensor.span_panel_clothes_dryer_net_energy", + "power": "sensor.span_panel_clothes_dryer_power", + "produced_energy": "sensor.span_panel_clothes_dryer_produced_energy", + "select": "select.span_panel_clothes_dryer_circuit_priority", + "switch": "switch.span_panel_clothes_dryer_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Clothes-Dryer", + "outside_panel": false, + "priority": "OFF_GRID", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 2, + 4 + ], + "voltage": 240 + }, + "48c572b0051eaddaf85e1c26ef0f52be": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_espresso_machine_breaker_rating", + "consumed_energy": "sensor.span_panel_espresso_machine_consumed_energy", + "current": "sensor.span_panel_espresso_machine_current", + "net_energy": "sensor.span_panel_espresso_machine_net_energy", + "power": "sensor.span_panel_espresso_machine_power", + "produced_energy": "sensor.span_panel_espresso_machine_produced_energy", + "select": "select.span_panel_espresso_machine_circuit_priority", + "switch": "switch.span_panel_espresso_machine_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Espresso-Machine", + "outside_panel": false, + "priority": "SOC_THRESHOLD", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 22, + 24 + ], + "voltage": 240 + }, + "56def60d3bbd177fc8856cca8713c05a": { + "always_on": false, + "breaker_rating_a": 30.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_shed_240vac_outlet_breaker_rating", + "consumed_energy": "sensor.span_panel_shed_240vac_outlet_consumed_energy", + "current": "sensor.span_panel_shed_240vac_outlet_current", + "net_energy": "sensor.span_panel_shed_240vac_outlet_net_energy", + "power": "sensor.span_panel_shed_240vac_outlet_power", + "produced_energy": "sensor.span_panel_shed_240vac_outlet_produced_energy", + "select": "select.span_panel_shed_240vac_outlet_circuit_priority", + "switch": "switch.span_panel_shed_240vac_outlet_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Shed-240VAC-Outlet", + "outside_panel": false, + "priority": "OFF_GRID", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 26, + 28 + ], + "voltage": 240 + }, + "704b457f76e9451eb44fbc8287e67f9f": { + "always_on": false, + "breaker_rating_a": 30.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_future_240vac_1_breaker_rating", + "consumed_energy": "sensor.span_panel_future_240vac_1_consumed_energy", + "current": "sensor.span_panel_future_240vac_1_current", + "net_energy": "sensor.span_panel_future_240vac_1_net_energy", + "power": "sensor.span_panel_future_240vac_1_power", + "produced_energy": "sensor.span_panel_future_240vac_1_produced_energy", + "select": "select.span_panel_future_240vac_1_circuit_priority", + "switch": "switch.span_panel_future_240vac_1_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Future-240VAC-1", + "outside_panel": false, + "priority": "OFF_GRID", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 21, + 23 + ], + "voltage": 240 + }, + "8a562bd10fb843842670080af2bbb983": { + "always_on": true, + "breaker_rating_a": null, + "device_type": "pv", + "entities": { + "consumed_energy": "sensor.span_panel_commissioned_pv_system_consumed_energy", + "current": "sensor.span_panel_commissioned_pv_system_current", + "net_energy": "sensor.span_panel_commissioned_pv_system_net_energy", + "power": "sensor.span_panel_commissioned_pv_system_power", + "produced_energy": "sensor.span_panel_commissioned_pv_system_produced_energy" + }, + "is_generation": true, + "is_never_backup": true, + "is_user_controllable": false, + "name": "Commissioned PV System", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 29, + 31 + ], + "voltage": 240 + }, + "9498a44c930374d2ea1e9508c3def44e": { + "always_on": false, + "breaker_rating_a": 50.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_cooktop_stove_breaker_rating", + "consumed_energy": "sensor.span_panel_cooktop_stove_consumed_energy", + "current": "sensor.span_panel_cooktop_stove_current", + "net_energy": "sensor.span_panel_cooktop_stove_net_energy", + "power": "sensor.span_panel_cooktop_stove_power", + "produced_energy": "sensor.span_panel_cooktop_stove_produced_energy", + "select": "select.span_panel_cooktop_stove_circuit_priority", + "switch": "switch.span_panel_cooktop_stove_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Cooktop/Stove", + "outside_panel": false, + "priority": "SOC_THRESHOLD", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 18, + 20 + ], + "voltage": 240 + }, + "a6f39ecc6a8bf3453b9487dba9581b2c": { + "always_on": false, + "breaker_rating_a": 50.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_hvac_heat_pump_breaker_rating", + "consumed_energy": "sensor.span_panel_hvac_heat_pump_consumed_energy", + "current": "sensor.span_panel_hvac_heat_pump_current", + "net_energy": "sensor.span_panel_hvac_heat_pump_net_energy", + "power": "sensor.span_panel_hvac_heat_pump_power", + "produced_energy": "sensor.span_panel_hvac_heat_pump_produced_energy", + "select": "select.span_panel_hvac_heat_pump_circuit_priority", + "switch": "switch.span_panel_hvac_heat_pump_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "HVAC-Heat-Pump", + "outside_panel": false, + "priority": "OFF_GRID", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 10, + 12 + ], + "voltage": 240 + }, + "aa47c5f799def01ce9ed945a4200b544": { + "always_on": false, + "breaker_rating_a": 50.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_ovens_breaker_rating", + "consumed_energy": "sensor.span_panel_ovens_consumed_energy", + "current": "sensor.span_panel_ovens_current", + "net_energy": "sensor.span_panel_ovens_net_energy", + "power": "sensor.span_panel_ovens_power", + "produced_energy": "sensor.span_panel_ovens_produced_energy", + "select": "select.span_panel_ovens_circuit_priority", + "switch": "switch.span_panel_ovens_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Ovens", + "outside_panel": false, + "priority": "OFF_GRID", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 14, + 16 + ], + "voltage": 240 + }, + "c00a7e2e5d468da627d084071177d865": { + "always_on": false, + "breaker_rating_a": 30.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_studio_hvac_breaker_rating", + "consumed_energy": "sensor.span_panel_studio_hvac_consumed_energy", + "current": "sensor.span_panel_studio_hvac_current", + "net_energy": "sensor.span_panel_studio_hvac_net_energy", + "power": "sensor.span_panel_studio_hvac_power", + "produced_energy": "sensor.span_panel_studio_hvac_produced_energy", + "select": "select.span_panel_studio_hvac_circuit_priority", + "switch": "switch.span_panel_studio_hvac_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Studio-HVAC", + "outside_panel": false, + "priority": "OFF_GRID", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 17, + 19 + ], + "voltage": 240 + }, + "c0161381e50e069b9fd063a0ca1df808": { + "always_on": false, + "breaker_rating_a": 30.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_future_240vac_2_breaker_rating", + "consumed_energy": "sensor.span_panel_future_240vac_2_consumed_energy", + "current": "sensor.span_panel_future_240vac_2_current", + "net_energy": "sensor.span_panel_future_240vac_2_net_energy", + "power": "sensor.span_panel_future_240vac_2_power", + "produced_energy": "sensor.span_panel_future_240vac_2_produced_energy", + "select": "select.span_panel_future_240vac_2_circuit_priority", + "switch": "switch.span_panel_future_240vac_2_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Future-240VAC-2", + "outside_panel": false, + "priority": "OFF_GRID", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 25, + 27 + ], + "voltage": 240 + }, + "caff3023f569495b2a36bf9354a8cd38": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_kitchen_outlets_1_outlets_2_breaker_rating", + "consumed_energy": "sensor.span_panel_kitchen_outlets_1_outlets_2_consumed_energy", + "current": "sensor.span_panel_kitchen_outlets_1_outlets_2_current", + "net_energy": "sensor.span_panel_kitchen_outlets_1_outlets_2_net_energy", + "power": "sensor.span_panel_kitchen_outlets_1_outlets_2_power", + "produced_energy": "sensor.span_panel_kitchen_outlets_1_outlets_2_produced_energy", + "select": "select.span_panel_kitchen_outlets_1_outlets_2_circuit_priority", + "switch": "switch.span_panel_kitchen_outlets_1_outlets_2_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Kitchen-Outlets-1 & Outlets-2", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 1, + 3 + ], + "voltage": 240 + }, + "cb26f4260adebb7b71de48682618db0a": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_wine_refrigerator_breaker_rating", + "consumed_energy": "sensor.span_panel_wine_refrigerator_consumed_energy", + "current": "sensor.span_panel_wine_refrigerator_current", + "net_energy": "sensor.span_panel_wine_refrigerator_net_energy", + "power": "sensor.span_panel_wine_refrigerator_power", + "produced_energy": "sensor.span_panel_wine_refrigerator_produced_energy", + "select": "select.span_panel_wine_refrigerator_circuit_priority", + "switch": "switch.span_panel_wine_refrigerator_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Wine Refrigerator", + "outside_panel": false, + "priority": "SOC_THRESHOLD", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 7 + ], + "voltage": 120 + }, + "f66769009923287a83be6740bd0bbfbd": { + "always_on": false, + "breaker_rating_a": 45.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_hvac_heating_coil_breaker_rating", + "consumed_energy": "sensor.span_panel_hvac_heating_coil_consumed_energy", + "current": "sensor.span_panel_hvac_heating_coil_current", + "net_energy": "sensor.span_panel_hvac_heating_coil_net_energy", + "power": "sensor.span_panel_hvac_heating_coil_power", + "produced_energy": "sensor.span_panel_hvac_heating_coil_produced_energy", + "select": "select.span_panel_hvac_heating_coil_circuit_priority", + "switch": "switch.span_panel_hvac_heating_coil_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "HVAC-Heating-Coil", + "outside_panel": false, + "priority": "OFF_GRID", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 6, + 8 + ], + "voltage": 240 + }, + "f84ad966ee15cec0c359d151af8157e2": { + "always_on": false, + "breaker_rating_a": 30.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_water_heater_breaker_rating", + "consumed_energy": "sensor.span_panel_water_heater_consumed_energy", + "current": "sensor.span_panel_water_heater_current", + "net_energy": "sensor.span_panel_water_heater_net_energy", + "power": "sensor.span_panel_water_heater_power", + "produced_energy": "sensor.span_panel_water_heater_produced_energy", + "select": "select.span_panel_water_heater_circuit_priority", + "switch": "switch.span_panel_water_heater_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Water-Heater", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 9, + 11 + ], + "voltage": 240 + } + }, + "config_entry_id": "entry-main32_r202639", + "device_id": "nt-9874-s7rxt", + "device_name": "Span Panel", + "firmware": "spanos3/r202639/03", + "first_position": 1, + "last_position": 32, + "panel_device_id": "nt-9874-s7rxt", + "panel_entities": { + "battery_level": "sensor.span_panel_battery_battery_level", + "battery_power": "sensor.span_panel_battery_battery_power", + "current_power": "sensor.span_panel_current_power", + "downstream_l1_current": "sensor.span_panel_downstream_l1_current", + "downstream_l2_current": "sensor.span_panel_downstream_l2_current", + "dsm_state": "sensor.span_panel_dsm_grid_state", + "feedthrough_power": "sensor.span_panel_feed_through_power", + "grid_power": "sensor.span_panel_grid_power", + "l1_voltage": "sensor.span_panel_l1_voltage", + "l2_voltage": "sensor.span_panel_l2_voltage", + "main_breaker_rating": "sensor.span_panel_main_breaker_rating", + "panel_status": "binary_sensor.span_panel_panel_status", + "pv_power": "sensor.span_panel_solar_pv_power", + "site_power": "sensor.span_panel_site_power", + "upstream_l1_current": "sensor.span_panel_upstream_l1_current", + "upstream_l2_current": "sensor.span_panel_upstream_l2_current" + }, + "panel_size": 32, + "serial": "nt-9874-s7rxt", + "sub_devices": { + "nt-9874-s7rxt_bess": { + "entities": { + "binary_sensor.span_panel_battery_bess_connected": { + "domain": "binary_sensor", + "original_name": "BESS Connected", + "unique_id": "span_nt-9874-s7rxt_bess_connected" + }, + "sensor.span_panel_battery_battery_level": { + "domain": "sensor", + "original_name": "Battery Level", + "unique_id": "span_nt-9874-s7rxt_storage_battery_percentage" + }, + "sensor.span_panel_battery_battery_power": { + "domain": "sensor", + "original_name": "Battery Power", + "unique_id": "span_nt-9874-s7rxt_battery_power" + }, + "sensor.span_panel_battery_communication_state": { + "domain": "sensor", + "original_name": "Communication State", + "unique_id": "span_nt-9874-s7rxt_bess_communication_state" + }, + "sensor.span_panel_battery_firmware_version": { + "domain": "sensor", + "original_name": "Firmware Version", + "unique_id": "span_nt-9874-s7rxt_bess_firmware_version" + }, + "sensor.span_panel_battery_meter_power": { + "domain": "sensor", + "original_name": "Meter Power", + "unique_id": "span_nt-9874-s7rxt_bess_meter_power" + }, + "sensor.span_panel_battery_model": { + "domain": "sensor", + "original_name": "Model", + "unique_id": "span_nt-9874-s7rxt_bess_model" + }, + "sensor.span_panel_battery_nameplate_capacity": { + "domain": "sensor", + "original_name": "Nameplate Capacity", + "unique_id": "span_nt-9874-s7rxt_bess_nameplate_capacity" + }, + "sensor.span_panel_battery_part_number": { + "domain": "sensor", + "original_name": "Part Number", + "unique_id": "span_nt-9874-s7rxt_bess_part_number" + }, + "sensor.span_panel_battery_serial_number": { + "domain": "sensor", + "original_name": "Serial Number", + "unique_id": "span_nt-9874-s7rxt_bess_serial_number" + }, + "sensor.span_panel_battery_state_of_energy": { + "domain": "sensor", + "original_name": "State of Energy", + "unique_id": "span_nt-9874-s7rxt_bess_soe_kwh" + }, + "sensor.span_panel_battery_vendor": { + "domain": "sensor", + "original_name": "Vendor", + "unique_id": "span_nt-9874-s7rxt_bess_vendor" + } + }, + "manufacturer": "Tesla", + "model": "Powerwall 2 AC", + "name": "Span Panel Battery", + "serial_number": "tg681049356k0x", + "sw_version": "26.26.4 68c2bc82", + "type": "bess" + }, + "nt-9874-s7rxt_mid": { + "entities": { + "sensor.span_panel_microgrid_interconnect_grid_state": { + "domain": "sensor", + "original_name": "Grid State", + "unique_id": "span_nt-9874-s7rxt_mid_mid_grid_state" + } + }, + "manufacturer": "Tesla", + "model": "Microgrid Interconnect Device", + "name": "Span Panel Microgrid Interconnect", + "serial_number": "tg957432104u3d-djc", + "sw_version": null, + "type": "mid" + }, + "nt-9874-s7rxt_pv": { + "entities": { + "binary_sensor.span_panel_solar_pv_panel_link": { + "domain": "binary_sensor", + "original_name": "PV Panel Link", + "unique_id": "span_nt-9874-s7rxt_pv_panel_link" + }, + "sensor.span_panel_solar_pv_nameplate_capacity": { + "domain": "sensor", + "original_name": "PV Nameplate Capacity", + "unique_id": "span_nt-9874-s7rxt_pv_nameplate_capacity" + }, + "sensor.span_panel_solar_pv_power": { + "domain": "sensor", + "original_name": "PV Power", + "unique_id": "span_nt-9874-s7rxt_pv_power" + }, + "sensor.span_panel_solar_pv_product": { + "domain": "sensor", + "original_name": "PV Product", + "unique_id": "span_nt-9874-s7rxt_pv_product" + }, + "sensor.span_panel_solar_pv_vendor": { + "domain": "sensor", + "original_name": "PV Vendor", + "unique_id": "span_nt-9874-s7rxt_pv_vendor" + } + }, + "manufacturer": "Enphase Energy", + "model": "IQ7PLUS-72-x-US-&", + "name": "Span Panel Solar", + "serial_number": null, + "solar": { + "feed_circuit_id": "8a562bd10fb843842670080af2bbb983", + "model": "IQ7PLUS-72-x-US-&", + "power_entity_id": "sensor.span_panel_commissioned_pv_system_power", + "role": "site", + "site_power_entity_id": "sensor.span_panel_solar_pv_power", + "vendor": "Enphase Energy" + }, + "sw_version": null, + "type": "pv" + } + } +} diff --git a/tests/fixtures/topology/r202639-a.json b/tests/fixtures/topology/r202639-a.json new file mode 100644 index 0000000..c319e40 --- /dev/null +++ b/tests/fixtures/topology/r202639-a.json @@ -0,0 +1,114 @@ +{ + "circuits": { + "circuit-3": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_7_bathroom_outlets_breaker_rating", + "consumed_energy": "sensor.span_panel_7_bathroom_outlets_consumed_energy", + "current": "sensor.span_panel_7_bathroom_outlets_current", + "net_energy": "sensor.span_panel_7_bathroom_outlets_net_energy", + "power": "sensor.span_panel_7_bathroom_outlets_power", + "produced_energy": "sensor.span_panel_7_bathroom_outlets_produced_energy", + "select": "select.span_panel_7_bathroom_outlets_circuit_priority", + "switch": "switch.span_panel_7_bathroom_outlets_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "7 Bathroom / Outlets", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 14 + ], + "voltage": 120.0 + }, + "circuit-4": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_6_kitchen_outlets_breaker_rating", + "consumed_energy": "sensor.span_panel_6_kitchen_outlets_consumed_energy", + "current": "sensor.span_panel_6_kitchen_outlets_current", + "net_energy": "sensor.span_panel_6_kitchen_outlets_net_energy", + "power": "sensor.span_panel_6_kitchen_outlets_power", + "produced_energy": "sensor.span_panel_6_kitchen_outlets_produced_energy", + "select": "select.span_panel_6_kitchen_outlets_circuit_priority", + "switch": "switch.span_panel_6_kitchen_outlets_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "6 Kitchen / Outlets", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 16 + ], + "voltage": 120.0 + }, + "remote-ct-3": { + "always_on": null, + "breaker_rating_a": null, + "device_type": "circuit", + "entities": { + "consumed_energy": "sensor.span_panel_remote_ct_3_consumed_energy", + "current": "sensor.span_panel_remote_ct_3_current", + "net_energy": "sensor.span_panel_remote_ct_3_net_energy", + "power": "sensor.span_panel_remote_ct_3_power", + "produced_energy": "sensor.span_panel_remote_ct_3_produced_energy" + }, + "is_generation": false, + "is_never_backup": null, + "is_user_controllable": false, + "name": "Remote CT 3", + "outside_panel": true, + "priority": "UNKNOWN", + "priority_target": null, + "relay_state": "UNKNOWN", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [], + "voltage": null + } + }, + "config_entry_id": "entry-r202639-a", + "device_id": "xg-3940-9ooto", + "device_name": "Span Panel", + "firmware": "spanos3/r202639/03", + "first_position": 14, + "last_position": 16, + "panel_device_id": "xg-3940-9ooto", + "panel_entities": { + "current_power": "sensor.span_panel_current_power", + "downstream_l1_current": "sensor.span_panel_downstream_l1_current", + "downstream_l2_current": "sensor.span_panel_downstream_l2_current", + "dsm_state": "sensor.span_panel_dsm_grid_state", + "feedthrough_power": "sensor.span_panel_feed_through_power", + "grid_power": "sensor.span_panel_grid_power", + "l1_voltage": "sensor.span_panel_l1_voltage", + "l2_voltage": "sensor.span_panel_l2_voltage", + "main_breaker_rating": "sensor.span_panel_main_breaker_rating", + "panel_status": "binary_sensor.span_panel_panel_status", + "site_power": "sensor.span_panel_site_power", + "upstream_l1_current": "sensor.span_panel_upstream_l1_current", + "upstream_l2_current": "sensor.span_panel_upstream_l2_current" + }, + "panel_size": 0, + "serial": "xg-3940-9ooto", + "sub_devices": {} +} diff --git a/tests/fixtures/topology/r202639-b.json b/tests/fixtures/topology/r202639-b.json new file mode 100644 index 0000000..8cc8521 --- /dev/null +++ b/tests/fixtures/topology/r202639-b.json @@ -0,0 +1,534 @@ +{ + "circuits": { + "circuit-17": { + "always_on": false, + "breaker_rating_a": 30.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_breaker_1_breaker_rating", + "consumed_energy": "sensor.span_panel_breaker_1_consumed_energy", + "current": "sensor.span_panel_breaker_1_current", + "net_energy": "sensor.span_panel_breaker_1_net_energy", + "power": "sensor.span_panel_breaker_1_power", + "produced_energy": "sensor.span_panel_breaker_1_produced_energy", + "select": "select.span_panel_breaker_1_circuit_priority", + "switch": "switch.span_panel_breaker_1_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "breaker-1", + "outside_panel": false, + "priority": "UNKNOWN", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 9 + ], + "voltage": 120.0 + }, + "circuit-18": { + "always_on": false, + "breaker_rating_a": 30.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_breaker_2_breaker_rating", + "consumed_energy": "sensor.span_panel_breaker_2_consumed_energy", + "current": "sensor.span_panel_breaker_2_current", + "net_energy": "sensor.span_panel_breaker_2_net_energy", + "power": "sensor.span_panel_breaker_2_power", + "produced_energy": "sensor.span_panel_breaker_2_produced_energy", + "select": "select.span_panel_breaker_2_circuit_priority", + "switch": "switch.span_panel_breaker_2_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "breaker-2", + "outside_panel": false, + "priority": "UNKNOWN", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 10 + ], + "voltage": 120.0 + }, + "circuit-19": { + "always_on": false, + "breaker_rating_a": 30.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_breaker_3_breaker_rating", + "consumed_energy": "sensor.span_panel_breaker_3_consumed_energy", + "current": "sensor.span_panel_breaker_3_current", + "net_energy": "sensor.span_panel_breaker_3_net_energy", + "power": "sensor.span_panel_breaker_3_power", + "produced_energy": "sensor.span_panel_breaker_3_produced_energy", + "select": "select.span_panel_breaker_3_circuit_priority", + "switch": "switch.span_panel_breaker_3_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "breaker-3", + "outside_panel": false, + "priority": "UNKNOWN", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 11 + ], + "voltage": 120.0 + }, + "circuit-20": { + "always_on": false, + "breaker_rating_a": 30.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_breaker_4_breaker_rating", + "consumed_energy": "sensor.span_panel_breaker_4_consumed_energy", + "current": "sensor.span_panel_breaker_4_current", + "net_energy": "sensor.span_panel_breaker_4_net_energy", + "power": "sensor.span_panel_breaker_4_power", + "produced_energy": "sensor.span_panel_breaker_4_produced_energy", + "select": "select.span_panel_breaker_4_circuit_priority", + "switch": "switch.span_panel_breaker_4_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "breaker-4", + "outside_panel": false, + "priority": "UNKNOWN", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 12 + ], + "voltage": 120.0 + }, + "circuit-21": { + "always_on": false, + "breaker_rating_a": 30.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_breaker_5_breaker_rating", + "consumed_energy": "sensor.span_panel_breaker_5_consumed_energy", + "current": "sensor.span_panel_breaker_5_current", + "net_energy": "sensor.span_panel_breaker_5_net_energy", + "power": "sensor.span_panel_breaker_5_power", + "produced_energy": "sensor.span_panel_breaker_5_produced_energy", + "select": "select.span_panel_breaker_5_circuit_priority", + "switch": "switch.span_panel_breaker_5_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "breaker-5", + "outside_panel": false, + "priority": "UNKNOWN", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 13 + ], + "voltage": 120.0 + }, + "circuit-22": { + "always_on": false, + "breaker_rating_a": 30.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_breaker_6_breaker_rating", + "consumed_energy": "sensor.span_panel_breaker_6_consumed_energy", + "current": "sensor.span_panel_breaker_6_current", + "net_energy": "sensor.span_panel_breaker_6_net_energy", + "power": "sensor.span_panel_breaker_6_power", + "produced_energy": "sensor.span_panel_breaker_6_produced_energy", + "select": "select.span_panel_breaker_6_circuit_priority", + "switch": "switch.span_panel_breaker_6_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "breaker-6", + "outside_panel": false, + "priority": "UNKNOWN", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 14 + ], + "voltage": 120.0 + }, + "circuit-23": { + "always_on": false, + "breaker_rating_a": 30.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_breaker_7_breaker_rating", + "consumed_energy": "sensor.span_panel_breaker_7_consumed_energy", + "current": "sensor.span_panel_breaker_7_current", + "net_energy": "sensor.span_panel_breaker_7_net_energy", + "power": "sensor.span_panel_breaker_7_power", + "produced_energy": "sensor.span_panel_breaker_7_produced_energy", + "select": "select.span_panel_breaker_7_circuit_priority", + "switch": "switch.span_panel_breaker_7_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "breaker-7", + "outside_panel": false, + "priority": "UNKNOWN", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 15 + ], + "voltage": 120.0 + }, + "circuit-24": { + "always_on": false, + "breaker_rating_a": 30.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_breaker_8_breaker_rating", + "consumed_energy": "sensor.span_panel_breaker_8_consumed_energy", + "current": "sensor.span_panel_breaker_8_current", + "net_energy": "sensor.span_panel_breaker_8_net_energy", + "power": "sensor.span_panel_breaker_8_power", + "produced_energy": "sensor.span_panel_breaker_8_produced_energy", + "select": "select.span_panel_breaker_8_circuit_priority", + "switch": "switch.span_panel_breaker_8_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "breaker-8", + "outside_panel": false, + "priority": "UNKNOWN", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 16 + ], + "voltage": 120.0 + }, + "circuit-25": { + "always_on": false, + "breaker_rating_a": 30.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_breaker_9_breaker_rating", + "consumed_energy": "sensor.span_panel_breaker_9_consumed_energy", + "current": "sensor.span_panel_breaker_9_current", + "net_energy": "sensor.span_panel_breaker_9_net_energy", + "power": "sensor.span_panel_breaker_9_power", + "produced_energy": "sensor.span_panel_breaker_9_produced_energy", + "select": "select.span_panel_breaker_9_circuit_priority", + "switch": "switch.span_panel_breaker_9_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "breaker-9", + "outside_panel": false, + "priority": "UNKNOWN", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 17 + ], + "voltage": 120.0 + }, + "circuit-26": { + "always_on": false, + "breaker_rating_a": 30.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_breaker_10_breaker_rating", + "consumed_energy": "sensor.span_panel_breaker_10_consumed_energy", + "current": "sensor.span_panel_breaker_10_current", + "net_energy": "sensor.span_panel_breaker_10_net_energy", + "power": "sensor.span_panel_breaker_10_power", + "produced_energy": "sensor.span_panel_breaker_10_produced_energy", + "select": "select.span_panel_breaker_10_circuit_priority", + "switch": "switch.span_panel_breaker_10_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "breaker-10", + "outside_panel": false, + "priority": "UNKNOWN", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 18 + ], + "voltage": 120.0 + }, + "circuit-27": { + "always_on": false, + "breaker_rating_a": 30.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_breaker_11_breaker_rating", + "consumed_energy": "sensor.span_panel_breaker_11_consumed_energy", + "current": "sensor.span_panel_breaker_11_current", + "net_energy": "sensor.span_panel_breaker_11_net_energy", + "power": "sensor.span_panel_breaker_11_power", + "produced_energy": "sensor.span_panel_breaker_11_produced_energy", + "select": "select.span_panel_breaker_11_circuit_priority", + "switch": "switch.span_panel_breaker_11_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "breaker-11", + "outside_panel": false, + "priority": "UNKNOWN", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 19 + ], + "voltage": 120.0 + }, + "circuit-28": { + "always_on": false, + "breaker_rating_a": 30.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_breaker_12_breaker_rating", + "consumed_energy": "sensor.span_panel_breaker_12_consumed_energy", + "current": "sensor.span_panel_breaker_12_current", + "net_energy": "sensor.span_panel_breaker_12_net_energy", + "power": "sensor.span_panel_breaker_12_power", + "produced_energy": "sensor.span_panel_breaker_12_produced_energy", + "select": "select.span_panel_breaker_12_circuit_priority", + "switch": "switch.span_panel_breaker_12_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "breaker-12", + "outside_panel": false, + "priority": "UNKNOWN", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 20 + ], + "voltage": 120.0 + }, + "circuit-29": { + "always_on": false, + "breaker_rating_a": 30.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_breaker_13_breaker_rating", + "consumed_energy": "sensor.span_panel_breaker_13_consumed_energy", + "current": "sensor.span_panel_breaker_13_current", + "net_energy": "sensor.span_panel_breaker_13_net_energy", + "power": "sensor.span_panel_breaker_13_power", + "produced_energy": "sensor.span_panel_breaker_13_produced_energy", + "select": "select.span_panel_breaker_13_circuit_priority", + "switch": "switch.span_panel_breaker_13_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "breaker-13", + "outside_panel": false, + "priority": "UNKNOWN", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 21 + ], + "voltage": 120.0 + }, + "circuit-30": { + "always_on": false, + "breaker_rating_a": 30.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_breaker_14_breaker_rating", + "consumed_energy": "sensor.span_panel_breaker_14_consumed_energy", + "current": "sensor.span_panel_breaker_14_current", + "net_energy": "sensor.span_panel_breaker_14_net_energy", + "power": "sensor.span_panel_breaker_14_power", + "produced_energy": "sensor.span_panel_breaker_14_produced_energy", + "select": "select.span_panel_breaker_14_circuit_priority", + "switch": "switch.span_panel_breaker_14_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "breaker-14", + "outside_panel": false, + "priority": "UNKNOWN", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 22 + ], + "voltage": 120.0 + }, + "circuit-31": { + "always_on": false, + "breaker_rating_a": 30.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_breaker_15_breaker_rating", + "consumed_energy": "sensor.span_panel_breaker_15_consumed_energy", + "current": "sensor.span_panel_breaker_15_current", + "net_energy": "sensor.span_panel_breaker_15_net_energy", + "power": "sensor.span_panel_breaker_15_power", + "produced_energy": "sensor.span_panel_breaker_15_produced_energy", + "select": "select.span_panel_breaker_15_circuit_priority", + "switch": "switch.span_panel_breaker_15_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "breaker-15", + "outside_panel": false, + "priority": "UNKNOWN", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 23 + ], + "voltage": 120.0 + }, + "circuit-32": { + "always_on": false, + "breaker_rating_a": 30.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_breaker_16_breaker_rating", + "consumed_energy": "sensor.span_panel_breaker_16_consumed_energy", + "current": "sensor.span_panel_breaker_16_current", + "net_energy": "sensor.span_panel_breaker_16_net_energy", + "power": "sensor.span_panel_breaker_16_power", + "produced_energy": "sensor.span_panel_breaker_16_produced_energy", + "select": "select.span_panel_breaker_16_circuit_priority", + "switch": "switch.span_panel_breaker_16_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "breaker-16", + "outside_panel": false, + "priority": "UNKNOWN", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 24 + ], + "voltage": 120.0 + }, + "remote-ct-3": { + "always_on": null, + "breaker_rating_a": null, + "device_type": "circuit", + "entities": { + "consumed_energy": "sensor.span_panel_remote_ct_3_consumed_energy", + "current": "sensor.span_panel_remote_ct_3_current", + "net_energy": "sensor.span_panel_remote_ct_3_net_energy", + "power": "sensor.span_panel_remote_ct_3_power", + "produced_energy": "sensor.span_panel_remote_ct_3_produced_energy" + }, + "is_generation": false, + "is_never_backup": null, + "is_user_controllable": false, + "name": "Remote CT 3", + "outside_panel": true, + "priority": "UNKNOWN", + "priority_target": null, + "relay_state": "UNKNOWN", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [], + "voltage": null + } + }, + "config_entry_id": "entry-r202639-b", + "device_id": "xg-1155-18fkf", + "device_name": "Span Panel", + "firmware": "spanos3/r202639/03", + "first_position": 9, + "last_position": 24, + "panel_device_id": "xg-1155-18fkf", + "panel_entities": { + "current_power": "sensor.span_panel_current_power", + "downstream_l1_current": "sensor.span_panel_downstream_l1_current", + "downstream_l2_current": "sensor.span_panel_downstream_l2_current", + "dsm_state": "sensor.span_panel_dsm_grid_state", + "feedthrough_power": "sensor.span_panel_feed_through_power", + "grid_power": "sensor.span_panel_grid_power", + "l1_voltage": "sensor.span_panel_l1_voltage", + "l2_voltage": "sensor.span_panel_l2_voltage", + "main_breaker_rating": "sensor.span_panel_main_breaker_rating", + "panel_status": "binary_sensor.span_panel_panel_status", + "site_power": "sensor.span_panel_site_power", + "upstream_l1_current": "sensor.span_panel_upstream_l1_current", + "upstream_l2_current": "sensor.span_panel_upstream_l2_current" + }, + "panel_size": 16, + "serial": "xg-1155-18fkf", + "sub_devices": {} +} diff --git a/tests/fixtures/topology/r202639-c.json b/tests/fixtures/topology/r202639-c.json new file mode 100644 index 0000000..a4fd99a --- /dev/null +++ b/tests/fixtures/topology/r202639-c.json @@ -0,0 +1,266 @@ +{ + "circuits": { + "circuit-1": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_bedroom_lights_breaker_rating", + "consumed_energy": "sensor.span_panel_bedroom_lights_consumed_energy", + "current": "sensor.span_panel_bedroom_lights_current", + "net_energy": "sensor.span_panel_bedroom_lights_net_energy", + "power": "sensor.span_panel_bedroom_lights_power", + "produced_energy": "sensor.span_panel_bedroom_lights_produced_energy", + "select": "select.span_panel_bedroom_lights_circuit_priority", + "switch": "switch.span_panel_bedroom_lights_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Bedroom / Lights", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 9 + ], + "voltage": 120.0 + }, + "circuit-2": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_bathroom_outlets_breaker_rating", + "consumed_energy": "sensor.span_panel_bathroom_outlets_consumed_energy", + "current": "sensor.span_panel_bathroom_outlets_current", + "net_energy": "sensor.span_panel_bathroom_outlets_net_energy", + "power": "sensor.span_panel_bathroom_outlets_power", + "produced_energy": "sensor.span_panel_bathroom_outlets_produced_energy", + "select": "select.span_panel_bathroom_outlets_circuit_priority", + "switch": "switch.span_panel_bathroom_outlets_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Bathroom / Outlets", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 17 + ], + "voltage": 120.0 + }, + "circuit-3": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_living_room_lights_breaker_rating", + "consumed_energy": "sensor.span_panel_living_room_lights_consumed_energy", + "current": "sensor.span_panel_living_room_lights_current", + "net_energy": "sensor.span_panel_living_room_lights_net_energy", + "power": "sensor.span_panel_living_room_lights_power", + "produced_energy": "sensor.span_panel_living_room_lights_produced_energy", + "select": "select.span_panel_living_room_lights_circuit_priority", + "switch": "switch.span_panel_living_room_lights_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Living room / Lights", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 19 + ], + "voltage": 120.0 + }, + "circuit-4": { + "always_on": false, + "breaker_rating_a": 30.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_other_breaker_rating", + "consumed_energy": "sensor.span_panel_other_consumed_energy", + "current": "sensor.span_panel_other_current", + "net_energy": "sensor.span_panel_other_net_energy", + "power": "sensor.span_panel_other_power", + "produced_energy": "sensor.span_panel_other_produced_energy", + "switch": "switch.span_panel_other_breaker" + }, + "is_generation": false, + "is_never_backup": true, + "is_user_controllable": true, + "name": "Other", + "outside_panel": false, + "priority": "OFF_GRID", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 10, + 12 + ], + "voltage": 240.0 + }, + "circuit-5": { + "always_on": true, + "breaker_rating_a": 60.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_tesla_breaker_rating", + "consumed_energy": "sensor.span_panel_tesla_consumed_energy", + "current": "sensor.span_panel_tesla_current", + "net_energy": "sensor.span_panel_tesla_net_energy", + "power": "sensor.span_panel_tesla_power", + "produced_energy": "sensor.span_panel_tesla_produced_energy" + }, + "is_generation": false, + "is_never_backup": true, + "is_user_controllable": false, + "name": "Tesla", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 43, + 45 + ], + "voltage": 240.0 + } + }, + "config_entry_id": "entry-r202639-c", + "device_id": "xg-7814-15i6h", + "device_name": "Span Panel", + "firmware": "spanos3/r202639/03", + "first_position": 9, + "last_position": 48, + "panel_device_id": "xg-7814-15i6h", + "panel_entities": { + "battery_level": "sensor.span_panel_battery_battery_level", + "battery_power": "sensor.span_panel_battery_battery_power", + "current_power": "sensor.span_panel_current_power", + "downstream_l1_current": "sensor.span_panel_downstream_l1_current", + "downstream_l2_current": "sensor.span_panel_downstream_l2_current", + "dsm_state": "sensor.span_panel_dsm_grid_state", + "feedthrough_power": "sensor.span_panel_feed_through_power", + "grid_power": "sensor.span_panel_grid_power", + "l1_voltage": "sensor.span_panel_l1_voltage", + "l2_voltage": "sensor.span_panel_l2_voltage", + "main_breaker_rating": "sensor.span_panel_main_breaker_rating", + "panel_status": "binary_sensor.span_panel_panel_status", + "site_power": "sensor.span_panel_site_power", + "upstream_l1_current": "sensor.span_panel_upstream_l1_current", + "upstream_l2_current": "sensor.span_panel_upstream_l2_current" + }, + "panel_size": 40, + "serial": "xg-7814-15i6h", + "sub_devices": { + "xg-7814-15i6h_bess": { + "entities": { + "binary_sensor.span_panel_battery_bess_connected": { + "domain": "binary_sensor", + "original_name": "BESS Connected", + "unique_id": "span_xg-7814-15i6h_bess_connected" + }, + "sensor.span_panel_battery_battery_level": { + "domain": "sensor", + "original_name": "Battery Level", + "unique_id": "span_xg-7814-15i6h_storage_battery_percentage" + }, + "sensor.span_panel_battery_battery_power": { + "domain": "sensor", + "original_name": "Battery Power", + "unique_id": "span_xg-7814-15i6h_battery_power" + }, + "sensor.span_panel_battery_communication_state": { + "domain": "sensor", + "original_name": "Communication State", + "unique_id": "span_xg-7814-15i6h_bess_communication_state" + }, + "sensor.span_panel_battery_firmware_version": { + "domain": "sensor", + "original_name": "Firmware Version", + "unique_id": "span_xg-7814-15i6h_bess_firmware_version" + }, + "sensor.span_panel_battery_meter_power": { + "domain": "sensor", + "original_name": "Meter Power", + "unique_id": "span_xg-7814-15i6h_bess_meter_power" + }, + "sensor.span_panel_battery_model": { + "domain": "sensor", + "original_name": "Model", + "unique_id": "span_xg-7814-15i6h_bess_model" + }, + "sensor.span_panel_battery_nameplate_capacity": { + "domain": "sensor", + "original_name": "Nameplate Capacity", + "unique_id": "span_xg-7814-15i6h_bess_nameplate_capacity" + }, + "sensor.span_panel_battery_part_number": { + "domain": "sensor", + "original_name": "Part Number", + "unique_id": "span_xg-7814-15i6h_bess_part_number" + }, + "sensor.span_panel_battery_serial_number": { + "domain": "sensor", + "original_name": "Serial Number", + "unique_id": "span_xg-7814-15i6h_bess_serial_number" + }, + "sensor.span_panel_battery_state_of_energy": { + "domain": "sensor", + "original_name": "State of Energy", + "unique_id": "span_xg-7814-15i6h_bess_soe_kwh" + }, + "sensor.span_panel_battery_vendor": { + "domain": "sensor", + "original_name": "Vendor", + "unique_id": "span_xg-7814-15i6h_bess_vendor" + } + }, + "manufacturer": "Tesla", + "model": "Powerwall 3", + "name": "Span Panel Battery", + "serial_number": "tg099828190yv6", + "sw_version": null, + "type": "bess" + }, + "xg-7814-15i6h_mid": { + "entities": { + "sensor.span_panel_microgrid_interconnect_grid_state": { + "domain": "sensor", + "original_name": "Grid State", + "unique_id": "span_xg-7814-15i6h_mid_mid_grid_state" + } + }, + "manufacturer": "Tesla", + "model": "Microgrid Interconnect Device", + "name": "Span Panel Microgrid Interconnect", + "serial_number": "tg607533669hu1-esz", + "sw_version": null, + "type": "mid" + } + } +} diff --git a/tests/fixtures/topology/r202639-d.json b/tests/fixtures/topology/r202639-d.json new file mode 100644 index 0000000..a9e7038 --- /dev/null +++ b/tests/fixtures/topology/r202639-d.json @@ -0,0 +1,406 @@ +{ + "circuits": { + "circuit-1": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_bedroom_kitchen_lights_breaker_rating", + "consumed_energy": "sensor.span_panel_bedroom_kitchen_lights_consumed_energy", + "current": "sensor.span_panel_bedroom_kitchen_lights_current", + "net_energy": "sensor.span_panel_bedroom_kitchen_lights_net_energy", + "power": "sensor.span_panel_bedroom_kitchen_lights_power", + "produced_energy": "sensor.span_panel_bedroom_kitchen_lights_produced_energy", + "select": "select.span_panel_bedroom_kitchen_lights_circuit_priority", + "switch": "switch.span_panel_bedroom_kitchen_lights_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Bedroom, Kitchen / Lights", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 3 + ], + "voltage": 120.0 + }, + "circuit-2": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_office_outlets_breaker_rating", + "consumed_energy": "sensor.span_panel_office_outlets_consumed_energy", + "current": "sensor.span_panel_office_outlets_current", + "net_energy": "sensor.span_panel_office_outlets_net_energy", + "power": "sensor.span_panel_office_outlets_power", + "produced_energy": "sensor.span_panel_office_outlets_produced_energy", + "select": "select.span_panel_office_outlets_circuit_priority", + "switch": "switch.span_panel_office_outlets_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Office / Outlets", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 11 + ], + "voltage": 120.0 + }, + "circuit-3": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_utility_room_lights_outlets_breaker_rating", + "consumed_energy": "sensor.span_panel_utility_room_lights_outlets_consumed_energy", + "current": "sensor.span_panel_utility_room_lights_outlets_current", + "net_energy": "sensor.span_panel_utility_room_lights_outlets_net_energy", + "power": "sensor.span_panel_utility_room_lights_outlets_power", + "produced_energy": "sensor.span_panel_utility_room_lights_outlets_produced_energy", + "select": "select.span_panel_utility_room_lights_outlets_circuit_priority", + "switch": "switch.span_panel_utility_room_lights_outlets_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Utility room / Lights & Outlets", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 19 + ], + "voltage": 120.0 + }, + "circuit-4": { + "always_on": false, + "breaker_rating_a": 60.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_electric_oven_breaker_rating", + "consumed_energy": "sensor.span_panel_electric_oven_consumed_energy", + "current": "sensor.span_panel_electric_oven_current", + "net_energy": "sensor.span_panel_electric_oven_net_energy", + "power": "sensor.span_panel_electric_oven_power", + "produced_energy": "sensor.span_panel_electric_oven_produced_energy", + "select": "select.span_panel_electric_oven_circuit_priority", + "switch": "switch.span_panel_electric_oven_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Electric oven", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 14, + 16 + ], + "voltage": 240.0 + }, + "circuit-5": { + "always_on": false, + "breaker_rating_a": 60.0, + "device_type": "evse", + "entities": { + "breaker_rating": "sensor.span_panel_ev_charger_flex_breaker_rating", + "consumed_energy": "sensor.span_panel_ev_charger_flex_consumed_energy", + "current": "sensor.span_panel_ev_charger_flex_current", + "net_energy": "sensor.span_panel_ev_charger_flex_net_energy", + "power": "sensor.span_panel_ev_charger_flex_power", + "produced_energy": "sensor.span_panel_ev_charger_flex_produced_energy" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "FLEX⁺", + "outside_panel": false, + "priority": "OFF_GRID", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 22, + 24 + ], + "voltage": 240.0 + }, + "circuit-8": { + "always_on": true, + "breaker_rating_a": 40.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_lucid_charger_breaker_rating", + "consumed_energy": "sensor.span_panel_lucid_charger_consumed_energy", + "current": "sensor.span_panel_lucid_charger_current", + "net_energy": "sensor.span_panel_lucid_charger_net_energy", + "power": "sensor.span_panel_lucid_charger_power", + "produced_energy": "sensor.span_panel_lucid_charger_produced_energy" + }, + "is_generation": false, + "is_never_backup": true, + "is_user_controllable": false, + "name": "Lucid charger", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "OPEN", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 13, + 15 + ], + "voltage": 240.0 + }, + "circuit-9": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_neutral_forming_transformer_nft_breaker_rating", + "consumed_energy": "sensor.span_panel_neutral_forming_transformer_nft_consumed_energy", + "current": "sensor.span_panel_neutral_forming_transformer_nft_current", + "net_energy": "sensor.span_panel_neutral_forming_transformer_nft_net_energy", + "power": "sensor.span_panel_neutral_forming_transformer_nft_power", + "produced_energy": "sensor.span_panel_neutral_forming_transformer_nft_produced_energy", + "select": "select.span_panel_neutral_forming_transformer_nft_circuit_priority", + "switch": "switch.span_panel_neutral_forming_transformer_nft_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Neutral forming transformer (NFT)", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 6, + 8 + ], + "voltage": 240.0 + } + }, + "config_entry_id": "entry-r202639-d", + "device_id": "xg-1334-066e8", + "device_name": "Span Panel", + "firmware": "spanos3/r202639/03", + "first_position": 1, + "last_position": 24, + "panel_device_id": "xg-1334-066e8", + "panel_entities": { + "battery_level": "sensor.span_panel_battery_battery_level", + "battery_power": "sensor.span_panel_battery_battery_power", + "current_power": "sensor.span_panel_current_power", + "downstream_l1_current": "sensor.span_panel_downstream_l1_current", + "downstream_l2_current": "sensor.span_panel_downstream_l2_current", + "dsm_state": "sensor.span_panel_dsm_grid_state", + "feedthrough_power": "sensor.span_panel_feed_through_power", + "grid_power": "sensor.span_panel_grid_power", + "l1_voltage": "sensor.span_panel_l1_voltage", + "l2_voltage": "sensor.span_panel_l2_voltage", + "panel_status": "binary_sensor.span_panel_panel_status", + "site_power": "sensor.span_panel_site_power", + "upstream_l1_current": "sensor.span_panel_upstream_l1_current", + "upstream_l2_current": "sensor.span_panel_upstream_l2_current" + }, + "panel_size": 24, + "serial": "xg-1334-066e8", + "sub_devices": { + "xg-1334-066e8_bess": { + "entities": { + "binary_sensor.span_panel_battery_bess_connected": { + "domain": "binary_sensor", + "original_name": "BESS Connected", + "unique_id": "span_xg-1334-066e8_bess_connected" + }, + "sensor.span_panel_battery_battery_level": { + "domain": "sensor", + "original_name": "Battery Level", + "unique_id": "span_xg-1334-066e8_storage_battery_percentage" + }, + "sensor.span_panel_battery_battery_power": { + "domain": "sensor", + "original_name": "Battery Power", + "unique_id": "span_xg-1334-066e8_battery_power" + }, + "sensor.span_panel_battery_communication_state": { + "domain": "sensor", + "original_name": "Communication State", + "unique_id": "span_xg-1334-066e8_bess_communication_state" + }, + "sensor.span_panel_battery_firmware_version": { + "domain": "sensor", + "original_name": "Firmware Version", + "unique_id": "span_xg-1334-066e8_bess_firmware_version" + }, + "sensor.span_panel_battery_meter_power": { + "domain": "sensor", + "original_name": "Meter Power", + "unique_id": "span_xg-1334-066e8_bess_meter_power" + }, + "sensor.span_panel_battery_model": { + "domain": "sensor", + "original_name": "Model", + "unique_id": "span_xg-1334-066e8_bess_model" + }, + "sensor.span_panel_battery_nameplate_capacity": { + "domain": "sensor", + "original_name": "Nameplate Capacity", + "unique_id": "span_xg-1334-066e8_bess_nameplate_capacity" + }, + "sensor.span_panel_battery_part_number": { + "domain": "sensor", + "original_name": "Part Number", + "unique_id": "span_xg-1334-066e8_bess_part_number" + }, + "sensor.span_panel_battery_serial_number": { + "domain": "sensor", + "original_name": "Serial Number", + "unique_id": "span_xg-1334-066e8_bess_serial_number" + }, + "sensor.span_panel_battery_state_of_energy": { + "domain": "sensor", + "original_name": "State of Energy", + "unique_id": "span_xg-1334-066e8_bess_soe_kwh" + }, + "sensor.span_panel_battery_vendor": { + "domain": "sensor", + "original_name": "Vendor", + "unique_id": "span_xg-1334-066e8_bess_vendor" + } + }, + "manufacturer": "Lucid", + "model": "Battery Storage", + "name": "Span Panel Battery", + "serial_number": "6689454643", + "sw_version": null, + "type": "bess" + }, + "xg-1334-066e8_evse_dt-5599-00321": { + "entities": { + "binary_sensor.span_panel_ev_charger_flex_charging": { + "domain": "binary_sensor", + "original_name": "Charging", + "unique_id": "span_xg-1334-066e8_evse_dt-5599-00321_evse_charging" + }, + "binary_sensor.span_panel_ev_charger_flex_ev_connected": { + "domain": "binary_sensor", + "original_name": "EV Connected", + "unique_id": "span_xg-1334-066e8_evse_dt-5599-00321_evse_ev_connected" + }, + "binary_sensor.span_panel_ev_charger_flex_evse_panel_link": { + "domain": "binary_sensor", + "original_name": "EVSE Panel Link", + "unique_id": "span_xg-1334-066e8_evse_dt-5599-00321_evse_panel_link" + }, + "lock.span_panel_ev_charger_flex_evse_lock": { + "domain": "lock", + "original_name": "EVSE Lock", + "unique_id": "span_xg-1334-066e8_evse_dt-5599-00321_lock" + }, + "number.span_panel_ev_charger_flex_evse_charge_current_limit": { + "domain": "number", + "original_name": "EVSE Charge Current Limit", + "unique_id": "span_xg-1334-066e8_evse_dt-5599-00321_evse_charge_current_limit" + }, + "sensor.span_panel_ev_charger_flex_breaker_rating": { + "domain": "sensor", + "original_name": "Breaker Rating", + "unique_id": "span_xg-1334-066e8_circuit-5_breaker_rating" + }, + "sensor.span_panel_ev_charger_flex_charger_status": { + "domain": "sensor", + "original_name": "Charger Status", + "unique_id": "span_xg-1334-066e8_evse_dt-5599-00321_evse_status" + }, + "sensor.span_panel_ev_charger_flex_consumed_energy": { + "domain": "sensor", + "original_name": "Consumed Energy", + "unique_id": "span_xg-1334-066e8_circuit-5_energy_consumed" + }, + "sensor.span_panel_ev_charger_flex_current": { + "domain": "sensor", + "original_name": "Current", + "unique_id": "span_xg-1334-066e8_circuit-5_current" + }, + "sensor.span_panel_ev_charger_flex_lock_state": { + "domain": "sensor", + "original_name": "Lock State", + "unique_id": "span_xg-1334-066e8_evse_dt-5599-00321_evse_lock_state" + }, + "sensor.span_panel_ev_charger_flex_net_energy": { + "domain": "sensor", + "original_name": "Net Energy", + "unique_id": "span_xg-1334-066e8_circuit-5_energy_net" + }, + "sensor.span_panel_ev_charger_flex_part_number": { + "domain": "sensor", + "original_name": "Part Number", + "unique_id": "span_xg-1334-066e8_evse_dt-5599-00321_evse_part_number" + }, + "sensor.span_panel_ev_charger_flex_power": { + "domain": "sensor", + "original_name": "Power", + "unique_id": "span_xg-1334-066e8_circuit-5_power" + }, + "sensor.span_panel_ev_charger_flex_produced_energy": { + "domain": "sensor", + "original_name": "Produced Energy", + "unique_id": "span_xg-1334-066e8_circuit-5_energy_produced" + } + }, + "manufacturer": "SPAN", + "model": "SPAN Drive", + "name": "Span Panel EV Charger (FLEX⁺)", + "serial_number": "dt-5599-00321", + "sw_version": "001.001.011.980bd33.8a49f9f1.b1c7ea7d.A", + "type": "evse" + }, + "xg-1334-066e8_mid": { + "entities": { + "sensor.span_panel_microgrid_interconnect_grid_state": { + "domain": "sensor", + "original_name": "Grid State", + "unique_id": "span_xg-1334-066e8_mid_mid_grid_state" + } + }, + "manufacturer": "Lucid", + "model": "Microgrid Interconnect Device", + "name": "Span Panel Microgrid Interconnect", + "serial_number": "0751202395-uex", + "sw_version": null, + "type": "mid" + } + } +} diff --git a/tests/fixtures/topology/r202639-e.json b/tests/fixtures/topology/r202639-e.json new file mode 100644 index 0000000..e73bcb9 --- /dev/null +++ b/tests/fixtures/topology/r202639-e.json @@ -0,0 +1,1492 @@ +{ + "circuits": { + "circuit-1": { + "always_on": false, + "breaker_rating_a": 35.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_hvac_breaker_rating", + "consumed_energy": "sensor.span_panel_hvac_consumed_energy", + "current": "sensor.span_panel_hvac_current", + "net_energy": "sensor.span_panel_hvac_net_energy", + "power": "sensor.span_panel_hvac_power", + "produced_energy": "sensor.span_panel_hvac_produced_energy", + "select": "select.span_panel_hvac_circuit_priority", + "switch": "switch.span_panel_hvac_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "HVAC", + "outside_panel": false, + "priority": "OFF_GRID", + "priority_target": null, + "relay_state": "OPEN", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 1, + 3 + ], + "voltage": 240.0 + }, + "circuit-12": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_kitchen_sink_garbage_disposal_breaker_rating", + "consumed_energy": "sensor.span_panel_kitchen_sink_garbage_disposal_consumed_energy", + "current": "sensor.span_panel_kitchen_sink_garbage_disposal_current", + "net_energy": "sensor.span_panel_kitchen_sink_garbage_disposal_net_energy", + "power": "sensor.span_panel_kitchen_sink_garbage_disposal_power", + "produced_energy": "sensor.span_panel_kitchen_sink_garbage_disposal_produced_energy", + "select": "select.span_panel_kitchen_sink_garbage_disposal_circuit_priority", + "switch": "switch.span_panel_kitchen_sink_garbage_disposal_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Kitchen Sink Garbage Disposal", + "outside_panel": false, + "priority": "SOC_THRESHOLD", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 23 + ], + "voltage": 120.0 + }, + "circuit-13": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_dishwasher_breaker_rating", + "consumed_energy": "sensor.span_panel_dishwasher_consumed_energy", + "current": "sensor.span_panel_dishwasher_current", + "net_energy": "sensor.span_panel_dishwasher_net_energy", + "power": "sensor.span_panel_dishwasher_power", + "produced_energy": "sensor.span_panel_dishwasher_produced_energy", + "select": "select.span_panel_dishwasher_circuit_priority", + "switch": "switch.span_panel_dishwasher_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Dishwasher", + "outside_panel": false, + "priority": "SOC_THRESHOLD", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 25 + ], + "voltage": 120.0 + }, + "circuit-14": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_main_office_fam_tv_breaker_rating", + "consumed_energy": "sensor.span_panel_main_office_fam_tv_consumed_energy", + "current": "sensor.span_panel_main_office_fam_tv_current", + "net_energy": "sensor.span_panel_main_office_fam_tv_net_energy", + "power": "sensor.span_panel_main_office_fam_tv_power", + "produced_energy": "sensor.span_panel_main_office_fam_tv_produced_energy", + "select": "select.span_panel_main_office_fam_tv_circuit_priority", + "switch": "switch.span_panel_main_office_fam_tv_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Main Office & Fam TV", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 27 + ], + "voltage": 120.0 + }, + "circuit-15": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_basement_outlets_french_door_wall_breaker_rating", + "consumed_energy": "sensor.span_panel_basement_outlets_french_door_wall_consumed_energy", + "current": "sensor.span_panel_basement_outlets_french_door_wall_current", + "net_energy": "sensor.span_panel_basement_outlets_french_door_wall_net_energy", + "power": "sensor.span_panel_basement_outlets_french_door_wall_power", + "produced_energy": "sensor.span_panel_basement_outlets_french_door_wall_produced_energy", + "select": "select.span_panel_basement_outlets_french_door_wall_circuit_priority", + "switch": "switch.span_panel_basement_outlets_french_door_wall_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Basement Outlets French Door Wall", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 29 + ], + "voltage": 120.0 + }, + "circuit-16": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_basement_lights_outlets_breaker_rating", + "consumed_energy": "sensor.span_panel_basement_lights_outlets_consumed_energy", + "current": "sensor.span_panel_basement_lights_outlets_current", + "net_energy": "sensor.span_panel_basement_lights_outlets_net_energy", + "power": "sensor.span_panel_basement_lights_outlets_power", + "produced_energy": "sensor.span_panel_basement_lights_outlets_produced_energy", + "select": "select.span_panel_basement_lights_outlets_circuit_priority", + "switch": "switch.span_panel_basement_lights_outlets_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Basement / Lights & Outlets", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 31 + ], + "voltage": 120.0 + }, + "circuit-17": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_utility_room_breaker_rating", + "consumed_energy": "sensor.span_panel_utility_room_consumed_energy", + "current": "sensor.span_panel_utility_room_current", + "net_energy": "sensor.span_panel_utility_room_net_energy", + "power": "sensor.span_panel_utility_room_power", + "produced_energy": "sensor.span_panel_utility_room_produced_energy", + "select": "select.span_panel_utility_room_circuit_priority", + "switch": "switch.span_panel_utility_room_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Utility Room", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 33 + ], + "voltage": 120.0 + }, + "circuit-18": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_hood_breaker_rating", + "consumed_energy": "sensor.span_panel_hood_consumed_energy", + "current": "sensor.span_panel_hood_current", + "net_energy": "sensor.span_panel_hood_net_energy", + "power": "sensor.span_panel_hood_power", + "produced_energy": "sensor.span_panel_hood_produced_energy", + "select": "select.span_panel_hood_circuit_priority", + "switch": "switch.span_panel_hood_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Hood", + "outside_panel": false, + "priority": "UNKNOWN", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 35 + ], + "voltage": 120.0 + }, + "circuit-19": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_basement_lights_outlets_breaker_rating_2", + "consumed_energy": "sensor.span_panel_basement_lights_outlets_consumed_energy_2", + "current": "sensor.span_panel_basement_lights_outlets_current_2", + "net_energy": "sensor.span_panel_basement_lights_outlets_net_energy_2", + "power": "sensor.span_panel_basement_lights_outlets_power_2", + "produced_energy": "sensor.span_panel_basement_lights_outlets_produced_energy_2", + "select": "select.span_panel_basement_lights_outlets_circuit_priority_2", + "switch": "switch.span_panel_basement_lights_outlets_breaker_2" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Basement / Lights & Outlets", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 37 + ], + "voltage": 120.0 + }, + "circuit-2": { + "always_on": false, + "breaker_rating_a": 30.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_heat_pump_water_heater_breaker_rating", + "consumed_energy": "sensor.span_panel_heat_pump_water_heater_consumed_energy", + "current": "sensor.span_panel_heat_pump_water_heater_current", + "net_energy": "sensor.span_panel_heat_pump_water_heater_net_energy", + "power": "sensor.span_panel_heat_pump_water_heater_power", + "produced_energy": "sensor.span_panel_heat_pump_water_heater_produced_energy", + "select": "select.span_panel_heat_pump_water_heater_circuit_priority", + "switch": "switch.span_panel_heat_pump_water_heater_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Heat Pump Water Heater", + "outside_panel": false, + "priority": "SOC_THRESHOLD", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 5, + 7 + ], + "voltage": 240.0 + }, + "circuit-21": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_electric_infared_sauna_breaker_rating", + "consumed_energy": "sensor.span_panel_electric_infared_sauna_consumed_energy", + "current": "sensor.span_panel_electric_infared_sauna_current", + "net_energy": "sensor.span_panel_electric_infared_sauna_net_energy", + "power": "sensor.span_panel_electric_infared_sauna_power", + "produced_energy": "sensor.span_panel_electric_infared_sauna_produced_energy", + "select": "select.span_panel_electric_infared_sauna_circuit_priority", + "switch": "switch.span_panel_electric_infared_sauna_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Electric Infared Sauna", + "outside_panel": false, + "priority": "OFF_GRID", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 43 + ], + "voltage": 120.0 + }, + "circuit-22": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_main_office_dedicated_outlets_breaker_rating", + "consumed_energy": "sensor.span_panel_main_office_dedicated_outlets_consumed_energy", + "current": "sensor.span_panel_main_office_dedicated_outlets_current", + "net_energy": "sensor.span_panel_main_office_dedicated_outlets_net_energy", + "power": "sensor.span_panel_main_office_dedicated_outlets_power", + "produced_energy": "sensor.span_panel_main_office_dedicated_outlets_produced_energy", + "select": "select.span_panel_main_office_dedicated_outlets_circuit_priority", + "switch": "switch.span_panel_main_office_dedicated_outlets_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Main Office Dedicated Outlets", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 45 + ], + "voltage": 120.0 + }, + "circuit-23": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_bidet_outlets_basement_main_floor_breaker_rating", + "consumed_energy": "sensor.span_panel_bidet_outlets_basement_main_floor_consumed_energy", + "current": "sensor.span_panel_bidet_outlets_basement_main_floor_current", + "net_energy": "sensor.span_panel_bidet_outlets_basement_main_floor_net_energy", + "power": "sensor.span_panel_bidet_outlets_basement_main_floor_power", + "produced_energy": "sensor.span_panel_bidet_outlets_basement_main_floor_produced_energy", + "select": "select.span_panel_bidet_outlets_basement_main_floor_circuit_priority", + "switch": "switch.span_panel_bidet_outlets_basement_main_floor_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Bidet Outlets Basement & Main Floor", + "outside_panel": false, + "priority": "OFF_GRID", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 47 + ], + "voltage": 120.0 + }, + "circuit-24": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_dining_room_lights_outlets_breaker_rating", + "consumed_energy": "sensor.span_panel_dining_room_lights_outlets_consumed_energy", + "current": "sensor.span_panel_dining_room_lights_outlets_current", + "net_energy": "sensor.span_panel_dining_room_lights_outlets_net_energy", + "power": "sensor.span_panel_dining_room_lights_outlets_power", + "produced_energy": "sensor.span_panel_dining_room_lights_outlets_produced_energy", + "select": "select.span_panel_dining_room_lights_outlets_circuit_priority", + "switch": "switch.span_panel_dining_room_lights_outlets_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Dining room / Lights & Outlets", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 10 + ], + "voltage": 120.0 + }, + "circuit-25": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_kitchen_fr_door_isle_alt_outlets_breaker_rating", + "consumed_energy": "sensor.span_panel_kitchen_fr_door_isle_alt_outlets_consumed_energy", + "current": "sensor.span_panel_kitchen_fr_door_isle_alt_outlets_current", + "net_energy": "sensor.span_panel_kitchen_fr_door_isle_alt_outlets_net_energy", + "power": "sensor.span_panel_kitchen_fr_door_isle_alt_outlets_power", + "produced_energy": "sensor.span_panel_kitchen_fr_door_isle_alt_outlets_produced_energy", + "select": "select.span_panel_kitchen_fr_door_isle_alt_outlets_circuit_priority", + "switch": "switch.span_panel_kitchen_fr_door_isle_alt_outlets_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Kitchen fr. door & Isle Alt. Outlets", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 12 + ], + "voltage": 120.0 + }, + "circuit-26": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_furnace_breaker_rating", + "consumed_energy": "sensor.span_panel_furnace_consumed_energy", + "current": "sensor.span_panel_furnace_current", + "net_energy": "sensor.span_panel_furnace_net_energy", + "power": "sensor.span_panel_furnace_power", + "produced_energy": "sensor.span_panel_furnace_produced_energy", + "select": "select.span_panel_furnace_circuit_priority", + "switch": "switch.span_panel_furnace_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Furnace", + "outside_panel": false, + "priority": "SOC_THRESHOLD", + "priority_target": null, + "relay_state": "OPEN", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 14 + ], + "voltage": 120.0 + }, + "circuit-27": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_bed_2_shared_bath_lights_outlets_breaker_rating", + "consumed_energy": "sensor.span_panel_bed_2_shared_bath_lights_outlets_consumed_energy", + "current": "sensor.span_panel_bed_2_shared_bath_lights_outlets_current", + "net_energy": "sensor.span_panel_bed_2_shared_bath_lights_outlets_net_energy", + "power": "sensor.span_panel_bed_2_shared_bath_lights_outlets_power", + "produced_energy": "sensor.span_panel_bed_2_shared_bath_lights_outlets_produced_energy", + "select": "select.span_panel_bed_2_shared_bath_lights_outlets_circuit_priority", + "switch": "switch.span_panel_bed_2_shared_bath_lights_outlets_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Bed 2 & Shared Bath Lights & Outlets", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 16 + ], + "voltage": 120.0 + }, + "circuit-28": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_primary_bedroom_lights_outlets_breaker_rating", + "consumed_energy": "sensor.span_panel_primary_bedroom_lights_outlets_consumed_energy", + "current": "sensor.span_panel_primary_bedroom_lights_outlets_current", + "net_energy": "sensor.span_panel_primary_bedroom_lights_outlets_net_energy", + "power": "sensor.span_panel_primary_bedroom_lights_outlets_power", + "produced_energy": "sensor.span_panel_primary_bedroom_lights_outlets_produced_energy", + "select": "select.span_panel_primary_bedroom_lights_outlets_circuit_priority", + "switch": "switch.span_panel_primary_bedroom_lights_outlets_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Primary bedroom / Lights & Outlets", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 18 + ], + "voltage": 120.0 + }, + "circuit-3": { + "always_on": false, + "breaker_rating_a": 40.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_electric_double_oven_breaker_rating", + "consumed_energy": "sensor.span_panel_electric_double_oven_consumed_energy", + "current": "sensor.span_panel_electric_double_oven_current", + "net_energy": "sensor.span_panel_electric_double_oven_net_energy", + "power": "sensor.span_panel_electric_double_oven_power", + "produced_energy": "sensor.span_panel_electric_double_oven_produced_energy", + "select": "select.span_panel_electric_double_oven_circuit_priority", + "switch": "switch.span_panel_electric_double_oven_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Electric Double-Oven", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 2, + 4 + ], + "voltage": 240.0 + }, + "circuit-30": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_primary_bath_closets_breaker_rating", + "consumed_energy": "sensor.span_panel_primary_bath_closets_consumed_energy", + "current": "sensor.span_panel_primary_bath_closets_current", + "net_energy": "sensor.span_panel_primary_bath_closets_net_energy", + "power": "sensor.span_panel_primary_bath_closets_power", + "produced_energy": "sensor.span_panel_primary_bath_closets_produced_energy", + "select": "select.span_panel_primary_bath_closets_circuit_priority", + "switch": "switch.span_panel_primary_bath_closets_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Primary Bath & Closets", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 22 + ], + "voltage": 120.0 + }, + "circuit-31": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_smoke_co_detectors_breaker_rating", + "consumed_energy": "sensor.span_panel_smoke_co_detectors_consumed_energy", + "current": "sensor.span_panel_smoke_co_detectors_current", + "net_energy": "sensor.span_panel_smoke_co_detectors_net_energy", + "power": "sensor.span_panel_smoke_co_detectors_power", + "produced_energy": "sensor.span_panel_smoke_co_detectors_produced_energy", + "select": "select.span_panel_smoke_co_detectors_circuit_priority", + "switch": "switch.span_panel_smoke_co_detectors_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Smoke/CO Detectors", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 24 + ], + "voltage": 120.0 + }, + "circuit-32": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_basement_outlets_exit_door_wall_breaker_rating", + "consumed_energy": "sensor.span_panel_basement_outlets_exit_door_wall_consumed_energy", + "current": "sensor.span_panel_basement_outlets_exit_door_wall_current", + "net_energy": "sensor.span_panel_basement_outlets_exit_door_wall_net_energy", + "power": "sensor.span_panel_basement_outlets_exit_door_wall_power", + "produced_energy": "sensor.span_panel_basement_outlets_exit_door_wall_produced_energy", + "select": "select.span_panel_basement_outlets_exit_door_wall_circuit_priority", + "switch": "switch.span_panel_basement_outlets_exit_door_wall_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Basement Outlets exit door wall", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 26 + ], + "voltage": 120.0 + }, + "circuit-33": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_living_room_lights_outlets_breaker_rating", + "consumed_energy": "sensor.span_panel_living_room_lights_outlets_consumed_energy", + "current": "sensor.span_panel_living_room_lights_outlets_current", + "net_energy": "sensor.span_panel_living_room_lights_outlets_net_energy", + "power": "sensor.span_panel_living_room_lights_outlets_power", + "produced_energy": "sensor.span_panel_living_room_lights_outlets_produced_energy", + "select": "select.span_panel_living_room_lights_outlets_circuit_priority", + "switch": "switch.span_panel_living_room_lights_outlets_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Living room / Lights & Outlets", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 28 + ], + "voltage": 120.0 + }, + "circuit-34": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_sump_pump_breaker_rating", + "consumed_energy": "sensor.span_panel_sump_pump_consumed_energy", + "current": "sensor.span_panel_sump_pump_current", + "net_energy": "sensor.span_panel_sump_pump_net_energy", + "power": "sensor.span_panel_sump_pump_power", + "produced_energy": "sensor.span_panel_sump_pump_produced_energy", + "select": "select.span_panel_sump_pump_circuit_priority", + "switch": "switch.span_panel_sump_pump_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Sump Pump", + "outside_panel": false, + "priority": "OFF_GRID", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 30 + ], + "voltage": 120.0 + }, + "circuit-35": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_kitchen_lights_breaker_rating", + "consumed_energy": "sensor.span_panel_kitchen_lights_consumed_energy", + "current": "sensor.span_panel_kitchen_lights_current", + "net_energy": "sensor.span_panel_kitchen_lights_net_energy", + "power": "sensor.span_panel_kitchen_lights_power", + "produced_energy": "sensor.span_panel_kitchen_lights_produced_energy", + "select": "select.span_panel_kitchen_lights_circuit_priority", + "switch": "switch.span_panel_kitchen_lights_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Kitchen / Lights", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 32 + ], + "voltage": 120.0 + }, + "circuit-36": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_security_system_breaker_rating", + "consumed_energy": "sensor.span_panel_security_system_consumed_energy", + "current": "sensor.span_panel_security_system_current", + "net_energy": "sensor.span_panel_security_system_net_energy", + "power": "sensor.span_panel_security_system_power", + "produced_energy": "sensor.span_panel_security_system_produced_energy", + "select": "select.span_panel_security_system_circuit_priority", + "switch": "switch.span_panel_security_system_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Security system", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 34 + ], + "voltage": 120.0 + }, + "circuit-37": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_refrigerator_breaker_rating", + "consumed_energy": "sensor.span_panel_refrigerator_consumed_energy", + "current": "sensor.span_panel_refrigerator_current", + "net_energy": "sensor.span_panel_refrigerator_net_energy", + "power": "sensor.span_panel_refrigerator_power", + "produced_energy": "sensor.span_panel_refrigerator_produced_energy", + "select": "select.span_panel_refrigerator_circuit_priority", + "switch": "switch.span_panel_refrigerator_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Refrigerator", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 38 + ], + "voltage": 120.0 + }, + "circuit-38": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_freezer_breaker_rating", + "consumed_energy": "sensor.span_panel_freezer_consumed_energy", + "current": "sensor.span_panel_freezer_current", + "net_energy": "sensor.span_panel_freezer_net_energy", + "power": "sensor.span_panel_freezer_power", + "produced_energy": "sensor.span_panel_freezer_produced_energy", + "select": "select.span_panel_freezer_circuit_priority", + "switch": "switch.span_panel_freezer_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Freezer", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 40 + ], + "voltage": 120.0 + }, + "circuit-4": { + "always_on": false, + "breaker_rating_a": 30.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_laundry_room_breaker_rating", + "consumed_energy": "sensor.span_panel_laundry_room_consumed_energy", + "current": "sensor.span_panel_laundry_room_current", + "net_energy": "sensor.span_panel_laundry_room_net_energy", + "power": "sensor.span_panel_laundry_room_power", + "produced_energy": "sensor.span_panel_laundry_room_produced_energy", + "select": "select.span_panel_laundry_room_circuit_priority", + "switch": "switch.span_panel_laundry_room_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Laundry Room", + "outside_panel": false, + "priority": "OFF_GRID", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 6, + 8 + ], + "voltage": 240.0 + }, + "circuit-41": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_utility_room_dedicated_breaker_rating", + "consumed_energy": "sensor.span_panel_utility_room_dedicated_consumed_energy", + "current": "sensor.span_panel_utility_room_dedicated_current", + "net_energy": "sensor.span_panel_utility_room_dedicated_net_energy", + "power": "sensor.span_panel_utility_room_dedicated_power", + "produced_energy": "sensor.span_panel_utility_room_dedicated_produced_energy", + "select": "select.span_panel_utility_room_dedicated_circuit_priority", + "switch": "switch.span_panel_utility_room_dedicated_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Utility Room Dedicated", + "outside_panel": false, + "priority": "OFF_GRID", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 36 + ], + "voltage": 120.0 + }, + "circuit-48": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_bedroom_outlets_breaker_rating", + "consumed_energy": "sensor.span_panel_bedroom_outlets_consumed_energy", + "current": "sensor.span_panel_bedroom_outlets_current", + "net_energy": "sensor.span_panel_bedroom_outlets_net_energy", + "power": "sensor.span_panel_bedroom_outlets_power", + "produced_energy": "sensor.span_panel_bedroom_outlets_produced_energy", + "select": "select.span_panel_bedroom_outlets_circuit_priority", + "switch": "switch.span_panel_bedroom_outlets_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Bedroom / Outlets", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 20 + ], + "voltage": 120.0 + }, + "circuit-49": { + "always_on": false, + "breaker_rating_a": 10.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_bathroom_outlets_breaker_rating", + "consumed_energy": "sensor.span_panel_bathroom_outlets_consumed_energy", + "current": "sensor.span_panel_bathroom_outlets_current", + "net_energy": "sensor.span_panel_bathroom_outlets_net_energy", + "power": "sensor.span_panel_bathroom_outlets_power", + "produced_energy": "sensor.span_panel_bathroom_outlets_produced_energy", + "select": "select.span_panel_bathroom_outlets_circuit_priority", + "switch": "switch.span_panel_bathroom_outlets_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Bathroom / Outlets", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 39 + ], + "voltage": 120.0 + }, + "circuit-5": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_electric_range_breaker_rating", + "consumed_energy": "sensor.span_panel_electric_range_consumed_energy", + "current": "sensor.span_panel_electric_range_current", + "net_energy": "sensor.span_panel_electric_range_net_energy", + "power": "sensor.span_panel_electric_range_power", + "produced_energy": "sensor.span_panel_electric_range_produced_energy", + "select": "select.span_panel_electric_range_circuit_priority", + "switch": "switch.span_panel_electric_range_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Electric range", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 9 + ], + "voltage": 120.0 + }, + "circuit-50": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_kitchen_outlets_breaker_rating_2", + "consumed_energy": "sensor.span_panel_kitchen_outlets_consumed_energy_2", + "current": "sensor.span_panel_kitchen_outlets_current_2", + "net_energy": "sensor.span_panel_kitchen_outlets_net_energy_2", + "power": "sensor.span_panel_kitchen_outlets_power_2", + "produced_energy": "sensor.span_panel_kitchen_outlets_produced_energy_2", + "select": "select.span_panel_kitchen_outlets_circuit_priority_2", + "switch": "switch.span_panel_kitchen_outlets_breaker_2" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Kitchen / Outlets", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 41 + ], + "voltage": 120.0 + }, + "circuit-51": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_kitchen_lights_breaker_rating_2", + "consumed_energy": "sensor.span_panel_kitchen_lights_consumed_energy_2", + "current": "sensor.span_panel_kitchen_lights_current_2", + "net_energy": "sensor.span_panel_kitchen_lights_net_energy_2", + "power": "sensor.span_panel_kitchen_lights_power_2", + "produced_energy": "sensor.span_panel_kitchen_lights_produced_energy_2", + "select": "select.span_panel_kitchen_lights_circuit_priority_2", + "switch": "switch.span_panel_kitchen_lights_breaker_2" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Kitchen / Lights", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 42 + ], + "voltage": 120.0 + }, + "circuit-52": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_bedroom_lights_breaker_rating", + "consumed_energy": "sensor.span_panel_bedroom_lights_consumed_energy", + "current": "sensor.span_panel_bedroom_lights_current", + "net_energy": "sensor.span_panel_bedroom_lights_net_energy", + "power": "sensor.span_panel_bedroom_lights_power", + "produced_energy": "sensor.span_panel_bedroom_lights_produced_energy", + "select": "select.span_panel_bedroom_lights_circuit_priority", + "switch": "switch.span_panel_bedroom_lights_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Bedroom / Lights", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": "circuit-52", + "shared_relay_group": "circuit-52", + "tabs": [ + 44 + ], + "voltage": 120.0 + }, + "circuit-53": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_bedroom_outlets_breaker_rating_2", + "consumed_energy": "sensor.span_panel_bedroom_outlets_consumed_energy_2", + "current": "sensor.span_panel_bedroom_outlets_current_2", + "net_energy": "sensor.span_panel_bedroom_outlets_net_energy_2", + "power": "sensor.span_panel_bedroom_outlets_power_2", + "produced_energy": "sensor.span_panel_bedroom_outlets_produced_energy_2", + "select": "select.span_panel_bedroom_outlets_circuit_priority_2", + "switch": "switch.span_panel_bedroom_outlets_breaker_2" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Bedroom / Outlets", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": "circuit-52", + "shared_relay_group": "circuit-52", + "tabs": [ + 44 + ], + "voltage": 120.0 + }, + "circuit-54": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_living_room_outlets_breaker_rating", + "consumed_energy": "sensor.span_panel_living_room_outlets_consumed_energy", + "current": "sensor.span_panel_living_room_outlets_current", + "net_energy": "sensor.span_panel_living_room_outlets_net_energy", + "power": "sensor.span_panel_living_room_outlets_power", + "produced_energy": "sensor.span_panel_living_room_outlets_produced_energy", + "select": "select.span_panel_living_room_outlets_circuit_priority", + "switch": "switch.span_panel_living_room_outlets_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Living room / Outlets", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": "circuit-54", + "shared_relay_group": "circuit-54", + "tabs": [ + 46 + ], + "voltage": 120.0 + }, + "circuit-55": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_living_room_lights_breaker_rating", + "consumed_energy": "sensor.span_panel_living_room_lights_consumed_energy", + "current": "sensor.span_panel_living_room_lights_current", + "net_energy": "sensor.span_panel_living_room_lights_net_energy", + "power": "sensor.span_panel_living_room_lights_power", + "produced_energy": "sensor.span_panel_living_room_lights_produced_energy", + "select": "select.span_panel_living_room_lights_circuit_priority", + "switch": "switch.span_panel_living_room_lights_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Living room / Lights", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": "circuit-54", + "shared_relay_group": "circuit-54", + "tabs": [ + 46 + ], + "voltage": 120.0 + }, + "circuit-56": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_dining_room_outlets_breaker_rating", + "consumed_energy": "sensor.span_panel_dining_room_outlets_consumed_energy", + "current": "sensor.span_panel_dining_room_outlets_current", + "net_energy": "sensor.span_panel_dining_room_outlets_net_energy", + "power": "sensor.span_panel_dining_room_outlets_power", + "produced_energy": "sensor.span_panel_dining_room_outlets_produced_energy", + "select": "select.span_panel_dining_room_outlets_circuit_priority", + "switch": "switch.span_panel_dining_room_outlets_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Dining room / Outlets", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": "circuit-56", + "shared_relay_group": "circuit-56", + "tabs": [ + 48 + ], + "voltage": 120.0 + }, + "circuit-57": { + "always_on": false, + "breaker_rating_a": 10.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_dining_room_lights_breaker_rating", + "consumed_energy": "sensor.span_panel_dining_room_lights_consumed_energy", + "current": "sensor.span_panel_dining_room_lights_current", + "net_energy": "sensor.span_panel_dining_room_lights_net_energy", + "power": "sensor.span_panel_dining_room_lights_power", + "produced_energy": "sensor.span_panel_dining_room_lights_produced_energy", + "select": "select.span_panel_dining_room_lights_circuit_priority", + "switch": "switch.span_panel_dining_room_lights_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Dining room / Lights", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": "circuit-56", + "shared_relay_group": "circuit-56", + "tabs": [ + 48 + ], + "voltage": 120.0 + }, + "circuit-6": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_microwave_breaker_rating", + "consumed_energy": "sensor.span_panel_microwave_consumed_energy", + "current": "sensor.span_panel_microwave_current", + "net_energy": "sensor.span_panel_microwave_net_energy", + "power": "sensor.span_panel_microwave_power", + "produced_energy": "sensor.span_panel_microwave_produced_energy", + "select": "select.span_panel_microwave_circuit_priority", + "switch": "switch.span_panel_microwave_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Microwave", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "OPEN", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 11 + ], + "voltage": 120.0 + }, + "circuit-60": { + "always_on": false, + "breaker_rating_a": 60.0, + "device_type": "evse", + "entities": { + "breaker_rating": "sensor.span_panel_ev_charger_span_drive_breaker_rating", + "consumed_energy": "sensor.span_panel_ev_charger_span_drive_consumed_energy", + "current": "sensor.span_panel_ev_charger_span_drive_current", + "net_energy": "sensor.span_panel_ev_charger_span_drive_net_energy", + "power": "sensor.span_panel_ev_charger_span_drive_power", + "produced_energy": "sensor.span_panel_ev_charger_span_drive_produced_energy" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "SPAN Drive", + "outside_panel": false, + "priority": "OFF_GRID", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 19, + 21 + ], + "voltage": 240.0 + }, + "circuit-7": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_primary_bath_outlets_breaker_rating", + "consumed_energy": "sensor.span_panel_primary_bath_outlets_consumed_energy", + "current": "sensor.span_panel_primary_bath_outlets_current", + "net_energy": "sensor.span_panel_primary_bath_outlets_net_energy", + "power": "sensor.span_panel_primary_bath_outlets_power", + "produced_energy": "sensor.span_panel_primary_bath_outlets_produced_energy", + "select": "select.span_panel_primary_bath_outlets_circuit_priority", + "switch": "switch.span_panel_primary_bath_outlets_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Primary Bath Outlets", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 13 + ], + "voltage": 120.0 + }, + "circuit-8": { + "always_on": false, + "breaker_rating_a": 20.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_kitchen_outlets_breaker_rating", + "consumed_energy": "sensor.span_panel_kitchen_outlets_consumed_energy", + "current": "sensor.span_panel_kitchen_outlets_current", + "net_energy": "sensor.span_panel_kitchen_outlets_net_energy", + "power": "sensor.span_panel_kitchen_outlets_power", + "produced_energy": "sensor.span_panel_kitchen_outlets_produced_energy", + "select": "select.span_panel_kitchen_outlets_circuit_priority", + "switch": "switch.span_panel_kitchen_outlets_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Kitchen / Outlets", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 15 + ], + "voltage": 120.0 + }, + "circuit-9": { + "always_on": false, + "breaker_rating_a": 15.0, + "device_type": "circuit", + "entities": { + "breaker_rating": "sensor.span_panel_family_room_breaker_rating", + "consumed_energy": "sensor.span_panel_family_room_consumed_energy", + "current": "sensor.span_panel_family_room_current", + "net_energy": "sensor.span_panel_family_room_net_energy", + "power": "sensor.span_panel_family_room_power", + "produced_energy": "sensor.span_panel_family_room_produced_energy", + "select": "select.span_panel_family_room_circuit_priority", + "switch": "switch.span_panel_family_room_breaker" + }, + "is_generation": false, + "is_never_backup": false, + "is_user_controllable": true, + "name": "Family Room", + "outside_panel": false, + "priority": "NEVER", + "priority_target": null, + "relay_state": "CLOSED", + "relay_state_target": null, + "shared_meter_group": null, + "shared_relay_group": null, + "tabs": [ + 17 + ], + "voltage": 120.0 + } + }, + "config_entry_id": "entry-r202639-e", + "device_id": "xg-6159-74dlx", + "device_name": "Span Panel", + "firmware": "spanos3/r202639/03", + "first_position": 1, + "last_position": 48, + "panel_device_id": "xg-6159-74dlx", + "panel_entities": { + "current_power": "sensor.span_panel_current_power", + "downstream_l1_current": "sensor.span_panel_downstream_l1_current", + "downstream_l2_current": "sensor.span_panel_downstream_l2_current", + "dsm_state": "sensor.span_panel_dsm_grid_state", + "feedthrough_power": "sensor.span_panel_feed_through_power", + "grid_power": "sensor.span_panel_grid_power", + "l1_voltage": "sensor.span_panel_l1_voltage", + "l2_voltage": "sensor.span_panel_l2_voltage", + "panel_status": "binary_sensor.span_panel_panel_status", + "site_power": "sensor.span_panel_site_power", + "upstream_l1_current": "sensor.span_panel_upstream_l1_current", + "upstream_l2_current": "sensor.span_panel_upstream_l2_current" + }, + "panel_size": 48, + "serial": "xg-6159-74dlx", + "sub_devices": { + "xg-6159-74dlx_evse_dt-6692-e9t57": { + "entities": { + "binary_sensor.span_panel_ev_charger_span_drive_charging": { + "domain": "binary_sensor", + "original_name": "Charging", + "unique_id": "span_xg-6159-74dlx_evse_dt-6692-e9t57_evse_charging" + }, + "binary_sensor.span_panel_ev_charger_span_drive_ev_connected": { + "domain": "binary_sensor", + "original_name": "EV Connected", + "unique_id": "span_xg-6159-74dlx_evse_dt-6692-e9t57_evse_ev_connected" + }, + "binary_sensor.span_panel_ev_charger_span_drive_evse_panel_link": { + "domain": "binary_sensor", + "original_name": "EVSE Panel Link", + "unique_id": "span_xg-6159-74dlx_evse_dt-6692-e9t57_evse_panel_link" + }, + "lock.span_panel_ev_charger_span_drive_evse_lock": { + "domain": "lock", + "original_name": "EVSE Lock", + "unique_id": "span_xg-6159-74dlx_evse_dt-6692-e9t57_lock" + }, + "number.span_panel_ev_charger_span_drive_evse_charge_current_limit": { + "domain": "number", + "original_name": "EVSE Charge Current Limit", + "unique_id": "span_xg-6159-74dlx_evse_dt-6692-e9t57_evse_charge_current_limit" + }, + "sensor.span_panel_ev_charger_span_drive_breaker_rating": { + "domain": "sensor", + "original_name": "Breaker Rating", + "unique_id": "span_xg-6159-74dlx_circuit-60_breaker_rating" + }, + "sensor.span_panel_ev_charger_span_drive_charger_status": { + "domain": "sensor", + "original_name": "Charger Status", + "unique_id": "span_xg-6159-74dlx_evse_dt-6692-e9t57_evse_status" + }, + "sensor.span_panel_ev_charger_span_drive_consumed_energy": { + "domain": "sensor", + "original_name": "Consumed Energy", + "unique_id": "span_xg-6159-74dlx_circuit-60_energy_consumed" + }, + "sensor.span_panel_ev_charger_span_drive_current": { + "domain": "sensor", + "original_name": "Current", + "unique_id": "span_xg-6159-74dlx_circuit-60_current" + }, + "sensor.span_panel_ev_charger_span_drive_lock_state": { + "domain": "sensor", + "original_name": "Lock State", + "unique_id": "span_xg-6159-74dlx_evse_dt-6692-e9t57_evse_lock_state" + }, + "sensor.span_panel_ev_charger_span_drive_net_energy": { + "domain": "sensor", + "original_name": "Net Energy", + "unique_id": "span_xg-6159-74dlx_circuit-60_energy_net" + }, + "sensor.span_panel_ev_charger_span_drive_part_number": { + "domain": "sensor", + "original_name": "Part Number", + "unique_id": "span_xg-6159-74dlx_evse_dt-6692-e9t57_evse_part_number" + }, + "sensor.span_panel_ev_charger_span_drive_power": { + "domain": "sensor", + "original_name": "Power", + "unique_id": "span_xg-6159-74dlx_circuit-60_power" + }, + "sensor.span_panel_ev_charger_span_drive_produced_energy": { + "domain": "sensor", + "original_name": "Produced Energy", + "unique_id": "span_xg-6159-74dlx_circuit-60_energy_produced" + } + }, + "manufacturer": "SPAN", + "model": "SPAN Drive", + "name": "Span Panel EV Charger (SPAN Drive)", + "serial_number": "dt-6692-e9t57", + "sw_version": null, + "type": "evse" + } + } +} From cd6cd0f55d798771da00cdb7d049d76bbe22e116 Mon Sep 17 00:00:00 2001 From: cayossarian <23534755+cayossarian@users.noreply.github.com> Date: Fri, 9 Oct 2026 13:44:41 -0700 Subject: [PATCH 2/5] fix(monitoring): show no monitoring summary while monitoring is off With monitoring off the integration answers enabled: false and no points, which the card drew as monitoring of 0 circuits and 0 mains. --- src/core/dashboard-controller.ts | 6 ++---- src/core/monitoring-status.ts | 16 +++++++++++++--- tests/capture-topologies.test.ts | 18 ++++++++++++++++-- tests/monitoring-cache.test.ts | 9 +++++++++ tests/monitoring-status.test.ts | 22 +++++++++++++++++++++- 5 files changed, 61 insertions(+), 10 deletions(-) diff --git a/src/core/dashboard-controller.ts b/src/core/dashboard-controller.ts index 035d121..506b667 100644 --- a/src/core/dashboard-controller.ts +++ b/src/core/dashboard-controller.ts @@ -7,7 +7,7 @@ import { loadHistory, collectSubDeviceEntityIds } from "./history-loader.js"; import { updateCircuitDOM, updateSubDeviceDOM } from "./dom-updater.js"; import { updateMetersDOM } from "./meters-strip.js"; import { getEffectiveHorizon, getEffectiveSubDeviceHorizon } from "./graph-settings.js"; -import { MonitoringStatusCache, MonitoringStatusMultiCache, mergeMonitoringStatuses } from "./monitoring-status.js"; +import { MonitoringStatusCache, MonitoringStatusMultiCache, mergeMonitoringStatuses, monitoringStatusFrom } from "./monitoring-status.js"; import { GraphSettingsCache } from "./graph-settings.js"; import { groupFavoritesByPanel } from "./favorites-sections.js"; import { switchPresence } from "./circuit-state.js"; @@ -632,9 +632,7 @@ export class DashboardController { errorMessage: t("error.monitoring_failed"), }) : await this._hass.callWS<{ response?: MonitoringStatusResponse }>(msg); - const response = resp?.response; - if (!response) return null; - return { circuits: response.circuits, mains: response.mains }; + return monitoringStatusFrom(resp?.response); } catch (err) { console.warn("SPAN Panel: fresh monitoring status fetch failed", err); return null; diff --git a/src/core/monitoring-status.ts b/src/core/monitoring-status.ts index 3ba1369..676b350 100644 --- a/src/core/monitoring-status.ts +++ b/src/core/monitoring-status.ts @@ -1,13 +1,23 @@ import { INTEGRATION_DOMAIN } from "../constants.js"; import { t } from "../i18n.js"; import { RetryManager } from "./retry-manager.js"; -import type { HomeAssistant, MonitoringPointInfo, MonitoringStatus } from "../types.js"; +import type { HomeAssistant, MonitoringPointInfo, MonitoringStatus, MonitoringStatusResponse } from "../types.js"; import type { ErrorStore } from "./error-store.js"; const MONITORING_POLL_INTERVAL_MS = 30_000; interface CallServiceResponse { - response?: MonitoringStatus; + response?: MonitoringStatusResponse; +} + +/** + * The status a `get_monitoring_status` answer gives, or null when it gives none. + * With monitoring off the integration answers `enabled: false` and no points: + * that is no monitoring, not monitoring of zero circuits and zero mains. + */ +export function monitoringStatusFrom(response: MonitoringStatusResponse | null | undefined): MonitoringStatus | null { + if (!response || response.enabled === false) return null; + return { circuits: response.circuits, mains: response.mains }; } /** @@ -67,7 +77,7 @@ export class MonitoringStatusCache { errorMessage: t("error.monitoring_failed"), }) : await hass.callWS(msg); - const next = resp?.response ?? null; + const next = monitoringStatusFrom(resp?.response); if (requestGen === this._generation) { this._status = next; this._lastFetch = Date.now(); diff --git a/tests/capture-topologies.test.ts b/tests/capture-topologies.test.ts index e1d5cd6..a3432a2 100644 --- a/tests/capture-topologies.test.ts +++ b/tests/capture-topologies.test.ts @@ -12,7 +12,7 @@ import { describe, it, expect, vi, afterEach } from "vitest"; import "../src/card/span-panel-card.js"; import { t } from "../src/i18n.js"; import type { CardConfig, HomeAssistant, HassEntity, PanelTopology } from "../src/types.js"; -import { FakeConnection, hassWith } from "./fake-connection.js"; +import { FakeConnection, flush, hassWith } from "./fake-connection.js"; import main32R202633Topology from "./fixtures/topology/main32_r202633.json"; import main32R202639Topology from "./fixtures/topology/main32_r202639.json"; import aTopology from "./fixtures/topology/r202639-a.json"; @@ -64,14 +64,19 @@ const MONITORING_OFF = { enabled: false }; type MountedCard = HTMLElement & { setConfig(c: CardConfig): void; hass: HomeAssistant }; const mounted: HTMLElement[] = []; +let monitoringAnswers = 0; afterEach(() => { for (const el of mounted.splice(0)) el.remove(); + monitoringAnswers = 0; }); async function render(capture: Capture): Promise { const callWS = (async (msg: Record) => { if (msg.type === "span_panel/panel_topology") return structuredClone(capture.topology); - if (msg.type === "call_service" && msg.service === "get_monitoring_status") return { response: MONITORING_OFF }; + if (msg.type === "call_service" && msg.service === "get_monitoring_status") { + monitoringAnswers += 1; + return { response: MONITORING_OFF }; + } return []; }) as HomeAssistant["callWS"]; const hass = hassWith(new FakeConnection(), { callWS, states: statesOf(capture.entities) }); @@ -136,6 +141,15 @@ describe.each(CAPTURES)("the card over capture $stem", capture => { expect(statText(root, "stat-grid-state")).toBe(entityId ? (states[entityId]?.state ?? "--") : null); }); + it("shows no monitoring summary while monitoring is off", async () => { + const root = await render(capture); + await vi.waitFor(() => expect(monitoringAnswers).toBeGreaterThan(0)); + await flush(); + // Drawn again, as any tab change or setting change does, now with the answer in hand. + root.querySelector('#card-tabs [data-tab="panel"]')!.click(); + expect(root.querySelector(".monitoring-summary")).toBeNull(); + }); + it("renders as before", async () => { const root = await render(capture); expect(root.querySelector(".panel-stats")!.outerHTML).toMatchSnapshot("header"); diff --git a/tests/monitoring-cache.test.ts b/tests/monitoring-cache.test.ts index 8f6c07b..b81f5ac 100644 --- a/tests/monitoring-cache.test.ts +++ b/tests/monitoring-cache.test.ts @@ -59,3 +59,12 @@ describe("MonitoringStatusCache", () => { expect(second?.circuits?.c1?.utilization_pct).toBe(10); }); }); + +describe("MonitoringStatusCache with monitoring off", () => { + it("holds no status, rather than a status of no circuits", async () => { + const cache = new MonitoringStatusCache(); + const { hass } = makeHass([{ enabled: false }]); + expect(await cache.fetch(hass)).toBeNull(); + expect(cache.status).toBeNull(); + }); +}); diff --git a/tests/monitoring-status.test.ts b/tests/monitoring-status.test.ts index 71d0cf5..9165de3 100644 --- a/tests/monitoring-status.test.ts +++ b/tests/monitoring-status.test.ts @@ -1,5 +1,12 @@ import { describe, it, expect } from "vitest"; -import { getCircuitMonitoringInfo, hasCustomOverrides, getUtilizationClass, isAlertActive, mergeMonitoringStatuses } from "../src/core/monitoring-status.js"; +import { + getCircuitMonitoringInfo, + hasCustomOverrides, + getUtilizationClass, + isAlertActive, + mergeMonitoringStatuses, + monitoringStatusFrom, +} from "../src/core/monitoring-status.js"; import type { MonitoringPointInfo, MonitoringStatus } from "../src/types.js"; describe("getCircuitMonitoringInfo", () => { @@ -177,3 +184,16 @@ describe("mergeMonitoringStatuses", () => { expect(merged?.circuits?.["sensor.a_power"]?.utilization_pct).toBe(99); }); }); + +describe("monitoringStatusFrom", () => { + it("is no status when monitoring is off", () => { + expect(monitoringStatusFrom({ enabled: false })).toBeNull(); + expect(monitoringStatusFrom(undefined)).toBeNull(); + }); + + it("is the monitored points when monitoring is on", () => { + const circuits = { "sensor.circuit_1_power": { utilization_pct: 55 } }; + const mains = { "sensor.mains_power": { utilization_pct: 20 } }; + expect(monitoringStatusFrom({ enabled: true, circuits, mains, global_settings: {} })).toEqual({ circuits, mains }); + }); +}); From 8caa8e8dd09e17542c5d8e5f6bacaf1b43d380c3 Mon Sep 17 00:00:00 2001 From: cayossarian <23534755+cayossarian@users.noreply.github.com> Date: Fri, 9 Oct 2026 13:49:18 -0700 Subject: [PATCH 3/5] feat(grid): draw circuits that share a meter as one slot, counted once Circuits that share a breaker space read one meter and switch with one relay. The grid draws them as one slot at that space with every member's name and rating, one power value and one toggle titled as switching the group, judges utilization against the combined rating, and the circuits' sum counts the group once. Part of the spanos3/r202639/03 batch 2 work. --- src/core/circuit-controls.ts | 11 +- src/core/dom-updater.ts | 8 +- src/core/grid-renderer.ts | 75 ++++++++-- src/helpers/shared-meters.ts | 52 +++++++ src/i18n.ts | 5 + src/types.ts | 4 + .../capture-topologies.test.ts.snap | 30 ++-- tests/capture-topologies.test.ts | 16 +- tests/shared-groups.test.ts | 140 ++++++++++++++++++ 9 files changed, 307 insertions(+), 34 deletions(-) create mode 100644 src/helpers/shared-meters.ts create mode 100644 tests/shared-groups.test.ts diff --git a/src/core/circuit-controls.ts b/src/core/circuit-controls.ts index 76f3412..a8af6e8 100644 --- a/src/core/circuit-controls.ts +++ b/src/core/circuit-controls.ts @@ -7,12 +7,17 @@ import { escapeHtml } from "../helpers/sanitize.js"; import type { SwitchPresence } from "./circuit-state.js"; import type { SheddingPriorityDef } from "../types.js"; -/** The pill for a breaker's switch: none without one, dimmed and inert while it is unavailable. */ -export function buildTogglePillHTML(isOn: boolean, presence: SwitchPresence): string { +/** + * The pill for a breaker's switch: none without one, dimmed and inert while it is + * unavailable, and titled as switching the group when circuits share its relay. + */ +export function buildTogglePillHTML(isOn: boolean, presence: SwitchPresence, shared = false): string { if (presence === "none") return ""; const classes = ["toggle-pill", isOn ? "toggle-on" : "toggle-off"]; if (presence === "inert") classes.push("toggle-unavailable"); - return `
+ if (shared) classes.push("toggle-shared"); + const title = shared ? ` title="${escapeHtml(t("grid.shared_switch"))}"` : ""; + return `
${isOn ? t("grid.on") : t("grid.off")}
`; diff --git a/src/core/dom-updater.ts b/src/core/dom-updater.ts index a6c2b34..dcb9d1c 100644 --- a/src/core/dom-updater.ts +++ b/src/core/dom-updater.ts @@ -14,6 +14,7 @@ import { getHistoryDurationMs, getHorizonDurationMs } from "../helpers/history.j import { updateChart } from "../chart/chart-update.js"; import { attrSelectorValue } from "../helpers/selector.js"; import { measuresOutsidePanel } from "../helpers/layout.js"; +import { meterSlots } from "../helpers/shared-meters.js"; import { circuitCurrentA, circuitPowerW, drawsAsOn, readsAsProducer, shedPriorityKey, switchPresence } from "./circuit-state.js"; import { applySheddingIcon, applyTogglePill } from "./circuit-controls.js"; import type { HomeAssistant, PanelTopology, CardConfig, HistoryMap, ChartMetricDef } from "../types.js"; @@ -152,9 +153,10 @@ export function updateCircuitDOM( const defaultDurationMs = getHistoryDurationMs(config); // The circuits' consumption: every non-solar circuit with a power sensor, an unknown reading skipped. - // A meter outside the panel is no load on it, so it is no term at all. + // A meter outside the panel is no load on it, so it is no term at all; circuits that share a meter are one term. + const slots = meterSlots(topology.circuits); const consumption: (number | null)[] = []; - for (const circuit of Object.values(topology.circuits)) { + for (const { circuit } of slots) { if (!circuit.entities?.power || circuit.device_type === DEVICE_TYPE_PV || measuresOutsidePanel(circuit)) continue; const power = circuitPowerW(circuit, hass); consumption.push(power === null ? null : Math.abs(power)); @@ -165,7 +167,7 @@ export function updateCircuitDOM( const chartMetric: ChartMetricDef = getChartMetric(config); const showCurrent = chartMetric.entityRole === "current"; - for (const [uuid, circuit] of Object.entries(topology.circuits)) { + for (const { uuid, circuit } of slots) { const slot = root.querySelector(`.circuit-slot[data-uuid="${attrSelectorValue(uuid)}"]`); if (!slot) continue; diff --git a/src/core/grid-renderer.ts b/src/core/grid-renderer.ts index 942821d..41bddb1 100644 --- a/src/core/grid-renderer.ts +++ b/src/core/grid-renderer.ts @@ -3,6 +3,7 @@ import { formatCircuitCurrentHTML, formatCircuitPowerHTML } from "../helpers/for import { t } from "../i18n.js"; import { tabToRow, tabToCol, classifyDualTab, measuresOutsidePanel, type PositionRange } from "../helpers/layout.js"; import { getChartMetric } from "../helpers/chart.js"; +import { meterSlots } from "../helpers/shared-meters.js"; import { getCircuitMonitoringInfo } from "./monitoring-status.js"; import { circuitCurrentA, @@ -22,6 +23,7 @@ type SlotLayout = "single" | "row-span" | "col-span"; interface TabMapEntry { uuid: string; circuit: Circuit; + members: readonly Circuit[]; layout: SlotLayout; } @@ -39,14 +41,15 @@ export function buildGridHTML( const tabMap = new Map(); const occupiedTabs = new Set(); - for (const [uuid, circuit] of Object.entries(topology.circuits)) { + // Circuits that share a meter share a space, and are drawn there as one slot. + for (const { uuid, circuit, members } of meterSlots(topology.circuits)) { // A meter outside the panel is drawn in the Meters strip, never in a breaker space. if (measuresOutsidePanel(circuit)) continue; const tabs = circuit.tabs; if (!tabs || tabs.length === 0) continue; const primaryTab = Math.min(...tabs); const layout: SlotLayout = tabs.length === 1 ? "single" : (classifyDualTab(tabs) ?? "single"); - tabMap.set(primaryTab, { uuid, circuit, layout }); + tabMap.set(primaryTab, { uuid, circuit, members, layout }); for (const tab of tabs) occupiedTabs.add(tab); } @@ -93,7 +96,18 @@ export function buildGridHTML( if (leftEntry && leftEntry.layout === "row-span") { const { monInfo, sheddingPriority } = lookupMonitoring(leftEntry); - gridHTML += renderCircuitSlot(leftEntry.uuid, leftEntry.circuit, gridRow, "2 / 5", "row-span", hass, config, monInfo, sheddingPriority); + gridHTML += renderCircuitSlot( + leftEntry.uuid, + leftEntry.circuit, + gridRow, + "2 / 5", + "row-span", + hass, + config, + monInfo, + sheddingPriority, + leftEntry.members + ); gridHTML += rightLabel; continue; } @@ -101,7 +115,18 @@ export function buildGridHTML( if (!rowsToSkipLeft.has(row)) { if (leftEntry && (leftEntry.layout === "col-span" || leftEntry.layout === "single")) { const { monInfo, sheddingPriority } = lookupMonitoring(leftEntry); - gridHTML += renderCircuitSlot(leftEntry.uuid, leftEntry.circuit, gridRow, "2", leftEntry.layout, hass, config, monInfo, sheddingPriority); + gridHTML += renderCircuitSlot( + leftEntry.uuid, + leftEntry.circuit, + gridRow, + "2", + leftEntry.layout, + hass, + config, + monInfo, + sheddingPriority, + leftEntry.members + ); } else if (!occupiedTabs.has(leftTab) && inRange(leftTab)) { gridHTML += renderEmptySlot(gridRow, "2"); } @@ -110,7 +135,18 @@ export function buildGridHTML( if (!rowsToSkipRight.has(row)) { if (rightEntry && (rightEntry.layout === "col-span" || rightEntry.layout === "single")) { const { monInfo, sheddingPriority } = lookupMonitoring(rightEntry); - gridHTML += renderCircuitSlot(rightEntry.uuid, rightEntry.circuit, gridRow, "4", rightEntry.layout, hass, config, monInfo, sheddingPriority); + gridHTML += renderCircuitSlot( + rightEntry.uuid, + rightEntry.circuit, + gridRow, + "4", + rightEntry.layout, + hass, + config, + monInfo, + sheddingPriority, + rightEntry.members + ); } else if (!occupiedTabs.has(rightTab) && inRange(rightTab)) { gridHTML += renderEmptySlot(gridRow, "4"); } @@ -122,7 +158,9 @@ export function buildGridHTML( } /** - * Render a single circuit breaker slot. + * Render a single circuit breaker slot. With more than one member it is the slot + * of circuits that share a meter: `circuit` is the one it reads and switches + * through, and each member gives its name and rating. */ export function renderCircuitSlot( uuid: string, @@ -134,6 +172,7 @@ export function renderCircuitSlot( config: CardConfig, monitoringInfo: MonitoringPointInfo | null, sheddingPriority: string, + members: readonly Circuit[] = [circuit], inline = false ): string { const powerW = circuitPowerW(circuit, hass); @@ -142,9 +181,9 @@ export function renderCircuitSlot( const isOn = relayClosed(circuit, hass); const presence = switchPresence(circuit, hass); - const breakerAmps = circuit.breaker_rating_a; - const breakerLabel = breakerAmps ? `${Math.round(breakerAmps)}A` : ""; - const name = escapeHtml(circuit.name || t("grid.unknown")); + const shared = members.length > 1; + const breakerLabel = shared ? sharedRatingsLabel(members) : singleRatingLabel(circuit.breaker_rating_a); + const name = escapeHtml(members.map(member => member.name || t("grid.unknown")).join(" · ")); const showCurrent = getChartMetric(config).entityRole === "current"; const valueHTML = showCurrent ? formatCircuitCurrentHTML(circuitCurrentA(circuit, hass)) : formatCircuitPowerHTML(powerW); @@ -186,7 +225,7 @@ export function renderCircuitSlot( ${valueHTML} - ${buildTogglePillHTML(isOn, presence)} + ${buildTogglePillHTML(isOn, presence, shared && sharesRelay(members))}
@@ -198,6 +237,22 @@ export function renderCircuitSlot( `; } +function singleRatingLabel(amps: number | null | undefined): string { + return amps ? `${Math.round(amps)}A` : ""; +} + +/** Each member's rating, as "15·10 A"; empty while any is unknown. */ +function sharedRatingsLabel(members: readonly Circuit[]): string { + if (members.some(member => !member.breaker_rating_a)) return ""; + return `${members.map(member => Math.round(member.breaker_rating_a!)).join("·")} A`; +} + +/** Whether every member switches with the same relay, so one toggle switches them all. */ +function sharesRelay(members: readonly Circuit[]): boolean { + const relay = members[0]?.shared_relay_group; + return !!relay && members.every(member => member.shared_relay_group === relay); +} + /** * Render an empty breaker slot. */ diff --git a/src/helpers/shared-meters.ts b/src/helpers/shared-meters.ts new file mode 100644 index 0000000..39b7cf9 --- /dev/null +++ b/src/helpers/shared-meters.ts @@ -0,0 +1,52 @@ +import type { Circuit } from "../types.js"; + +/** + * What one breaker slot draws: a circuit of its own, or the circuits that share + * one meter. Members of a group read identical meters, so the group is read, + * switched and counted through one of them and drawn once. + */ +export interface MeterSlot { + /** The circuit the slot reads and switches through: the group's key when that is a member, else its first. */ + readonly uuid: string; + /** That circuit, carrying the group's combined rating, which is what the group is judged against. */ + readonly circuit: Circuit; + /** Every circuit drawn in the slot, in topology order. */ + readonly members: readonly Circuit[]; +} + +/** + * One slot per meter, in topology order: each group of circuits that share a + * meter once, at its first member's place, and every other circuit by itself. + * A circuit with no group is its own slot, unchanged. + */ +export function meterSlots(circuits: Record): MeterSlot[] { + const groups = new Map(); + for (const [uuid, circuit] of Object.entries(circuits)) { + const key = circuit.shared_meter_group; + if (key) groups.set(key, [...(groups.get(key) ?? []), [uuid, circuit]]); + } + + const slots: MeterSlot[] = []; + for (const [uuid, circuit] of Object.entries(circuits)) { + const key = circuit.shared_meter_group; + const group = key ? groups.get(key) : undefined; + if (!key || !group || group.length === 1) { + slots.push({ uuid, circuit, members: [circuit] }); + } else if (group[0]![0] === uuid) { + const [throughId, through] = group.find(([id]) => id === key) ?? group[0]!; + const members = group.map(([, member]) => member); + slots.push({ uuid: throughId, circuit: { ...through, breaker_rating_a: combinedRating(members) }, members }); + } + } + return slots; +} + +/** The members' ratings summed, or null while any member's is unknown. */ +function combinedRating(members: readonly Circuit[]): number | null { + let total = 0; + for (const member of members) { + if (!member.breaker_rating_a) return null; + total += member.breaker_rating_a; + } + return total; +} diff --git a/src/i18n.ts b/src/i18n.ts index f9ea2ef..f27406d 100644 --- a/src/i18n.ts +++ b/src/i18n.ts @@ -185,6 +185,7 @@ const translations: Record> = { "grid.configure_subdevice": "Configure device", "grid.on": "On", "grid.off": "Off", + "grid.shared_switch": "Switches every circuit in this space", // Meters outside the panel "meters.title": "Meters", @@ -441,6 +442,7 @@ const translations: Record> = { "grid.configure_subdevice": "Configurar dispositivo", "grid.on": "Enc", "grid.off": "Apag", + "grid.shared_switch": "Conmuta todos los circuitos de este espacio", "meters.title": "Medidores", "meters.importing": "importando", "meters.exporting": "exportando", @@ -682,6 +684,7 @@ const translations: Record> = { "grid.configure_subdevice": "Configurer l'appareil", "grid.on": "On", "grid.off": "Off", + "grid.shared_switch": "Commute tous les circuits de cet emplacement", "meters.title": "Compteurs", "meters.importing": "en import", "meters.exporting": "en export", @@ -933,6 +936,7 @@ const translations: Record> = { "grid.configure_subdevice": "\u30c7\u30d0\u30a4\u30b9\u3092\u8a2d\u5b9a", "grid.on": "\u30aa\u30f3", "grid.off": "\u30aa\u30d5", + "grid.shared_switch": "\u3053\u306e\u30b9\u30da\u30fc\u30b9\u306e\u3059\u3079\u3066\u306e\u56de\u8def\u3092\u5207\u308a\u66ff\u3048\u307e\u3059", "meters.title": "\u30e1\u30fc\u30bf\u30fc", "meters.importing": "\u53d7\u96fb\u4e2d", "meters.exporting": "\u9001\u96fb\u4e2d", @@ -1177,6 +1181,7 @@ const translations: Record> = { "grid.configure_subdevice": "Configurar dispositivo", "grid.on": "Lig", "grid.off": "Des", + "grid.shared_switch": "Liga e desliga todos os circuitos deste espa\u00e7o", "meters.title": "Medidores", "meters.importing": "importando", "meters.exporting": "exportando", diff --git a/src/types.ts b/src/types.ts index 5361898..a5c8ac2 100644 --- a/src/types.ts +++ b/src/types.ts @@ -53,6 +53,10 @@ export interface Circuit { * power is import-positive, positive while power flows into the panel. */ outside_panel?: boolean; + /** The group of circuits that share this circuit's meter, by its key; null when it shares none. */ + shared_meter_group?: string | null; + /** The group of circuits that share this circuit's relay, by its key; null when it shares none. */ + shared_relay_group?: string | null; } /** diff --git a/tests/__snapshots__/capture-topologies.test.ts.snap b/tests/__snapshots__/capture-topologies.test.ts.snap index abb03c8..b583a2f 100644 --- a/tests/__snapshots__/capture-topologies.test.ts.snap +++ b/tests/__snapshots__/capture-topologies.test.ts.snap @@ -3409,16 +3409,16 @@ exports[`the card over capture 'r202639-e' > renders as before > grid 1`] = `
-
+
- 15A + 15·15 A 0% - Bedroom / Outlets + Bedroom / Lights · Bedroom / Outlets
-0.1W -
+
On
@@ -3430,7 +3430,7 @@ exports[`the card over capture 'r202639-e' > renders as before > grid 1`] = ` -
@@ -3465,16 +3465,16 @@ exports[`the card over capture 'r202639-e' > renders as before > grid 1`] = `
-
+
- 20A + 20·20 A 0% - Living room / Lights + Living room / Outlets · Living room / Lights
0W -
+
On
@@ -3486,7 +3486,7 @@ exports[`the card over capture 'r202639-e' > renders as before > grid 1`] = ` -
@@ -3521,16 +3521,16 @@ exports[`the card over capture 'r202639-e' > renders as before > grid 1`] = `
-
+
- 10A + 15·10 A 0% - Dining room / Lights + Dining room / Outlets · Dining room / Lights
0W -
+
On
@@ -3542,7 +3542,7 @@ exports[`the card over capture 'r202639-e' > renders as before > grid 1`] = ` -
diff --git a/tests/capture-topologies.test.ts b/tests/capture-topologies.test.ts index a3432a2..291724f 100644 --- a/tests/capture-topologies.test.ts +++ b/tests/capture-topologies.test.ts @@ -115,12 +115,22 @@ describe.each(CAPTURES)("the card over capture $stem", capture => { expect(labels(root)).toEqual(range(topology.first_position!, topology.last_position!)); }); - it("draws every breaker of its own in the grid and every meter outside it", async () => { + it("draws every breaker in the grid and every meter outside it", async () => { const root = await render(capture); const slots = new Set([...root.querySelectorAll(".panel-grid .circuit-slot[data-uuid]")].map(el => el.dataset.uuid)); for (const [id, circuit] of Object.entries(topology.circuits)) { - if (circuit.shared_meter_group) continue; - expect(slots.has(id), id).toBe(circuit.outside_panel !== true); + // Circuits that share a meter are drawn in the slot of the group's key. + const drawnAs = circuit.shared_meter_group ?? id; + expect(slots.has(drawnAs), id).toBe(circuit.outside_panel !== true); + } + }); + + it("names every member of a shared space in its one slot", async () => { + const root = await render(capture); + for (const circuit of Object.values(topology.circuits)) { + if (!circuit.shared_meter_group) continue; + const slot = root.querySelector(`.panel-grid .circuit-slot[data-uuid="${circuit.shared_meter_group}"] .circuit-name`); + expect(slot?.textContent).toContain(circuit.name); } }); diff --git a/tests/shared-groups.test.ts b/tests/shared-groups.test.ts new file mode 100644 index 0000000..1dfdf4b --- /dev/null +++ b/tests/shared-groups.test.ts @@ -0,0 +1,140 @@ +import { describe, it, expect } from "vitest"; +import { buildGridHTML } from "../src/core/grid-renderer.js"; +import { buildPanelStatsHTML } from "../src/core/header-renderer.js"; +import { updateCircuitDOM } from "../src/core/dom-updater.js"; +import { positionRange } from "../src/helpers/layout.js"; +import { meterSlots } from "../src/helpers/shared-meters.js"; +import { t } from "../src/i18n.js"; +import type { CardConfig, Circuit, HomeAssistant, PanelTopology } from "../src/types.js"; + +const CONFIG = { chart_metric: "power" } as CardConfig; +const SITE = "sensor.site_power"; + +/** A circuit on `tab`; with `group`, one of the circuits that share that space's meter and relay. */ +function circuit(slug: string, name: string, tab: number, rating: number, group: string | null = null): Circuit { + return { + name, + tabs: [tab], + breaker_rating_a: rating, + relay_state: "CLOSED", + is_user_controllable: true, + shared_meter_group: group, + shared_relay_group: group, + entities: { power: `sensor.${slug}_power`, current: `sensor.${slug}_current`, switch: `switch.${slug}_breaker` }, + }; +} + +/** Three pairs that each share one space, beside a circuit of its own. */ +const CIRCUITS: Record = { + "c-1": circuit("hall", "Hall", 1, 20), + "c-44a": circuit("lights_a", "Lights A", 44, 15, "c-44a"), + "c-44b": circuit("outlets_a", "Outlets A", 44, 15, "c-44a"), + "c-46a": circuit("outlets_b", "Outlets B", 46, 20, "c-46a"), + "c-46b": circuit("lights_b", "Lights B", 46, 20, "c-46a"), + "c-48a": circuit("outlets_c", "Outlets C", 48, 15, "c-48a"), + "c-48b": circuit("lights_c", "Lights C", 48, 10, "c-48a"), +}; + +function topology(): PanelTopology { + return { circuits: CIRCUITS, panel_size: 48, first_position: 1, last_position: 48, panel_entities: { site_power: SITE } } as PanelTopology; +} + +/** Both members of a pair read the one meter they share. */ +function hassWith(extra: Record = {}): HomeAssistant { + const states: Record = { + "sensor.hall_power": "1000", + "sensor.lights_a_power": "300", + "sensor.outlets_a_power": "300", + "sensor.outlets_b_power": "500", + "sensor.lights_b_power": "500", + "sensor.outlets_c_power": "0", + "sensor.lights_c_power": "0", + "sensor.lights_c_current": "5", + "sensor.outlets_c_current": "5", + ...extra, + }; + for (const slug of ["hall", "lights_a", "outlets_a", "outlets_b", "lights_b", "outlets_c", "lights_c"]) states[`switch.${slug}_breaker`] ??= "on"; + const full = Object.fromEntries( + Object.entries(states).map(([entity_id, state]) => [entity_id, { entity_id, state, attributes: {}, last_changed: "", last_updated: "" }]) + ); + return { states: full, services: {}, language: "en" } as unknown as HomeAssistant; +} + +function grid(hass: HomeAssistant = hassWith()): HTMLElement { + const div = document.createElement("div"); + const topo = topology(); + div.innerHTML = buildGridHTML(topo, positionRange(topo, 48)!, hass, CONFIG, null); + return div; +} + +function slotAt(root: ParentNode, uuid: string): HTMLElement { + return root.querySelector(`.circuit-slot[data-uuid="${uuid}"]`)!; +} + +describe("meterSlots", () => { + it("gives each group one slot, read through its first member, and every other circuit its own", () => { + const slots = meterSlots(CIRCUITS); + expect(slots.map(s => s.uuid)).toEqual(["c-1", "c-44a", "c-46a", "c-48a"]); + expect(slots[1]!.members.map(m => m.name)).toEqual(["Lights A", "Outlets A"]); + expect(slots[0]!.circuit).toBe(CIRCUITS["c-1"]); + }); + + it("judges a group against its members' combined rating", () => { + const slots = meterSlots(CIRCUITS); + expect(slots.map(s => s.circuit.breaker_rating_a)).toEqual([20, 30, 40, 25]); + }); + + it("has no combined rating while a member's rating is unknown", () => { + const circuits = { ...CIRCUITS, "c-48b": { ...CIRCUITS["c-48b"]!, breaker_rating_a: null } }; + expect(meterSlots(circuits).find(s => s.uuid === "c-48a")!.circuit.breaker_rating_a).toBeNull(); + }); +}); + +describe("circuits that share a space on the grid", () => { + it("draw one slot per group at the shared space, losing no circuit", () => { + const root = grid(); + expect(root.querySelectorAll(".circuit-slot[data-uuid]")).toHaveLength(4); + for (const member of ["c-44b", "c-46b", "c-48b"]) expect(slotAt(root, member)).toBeNull(); + expect(slotAt(root, "c-44a").getAttribute("style")).toContain("grid-row: 22;"); + }); + + it("name both members and give both ratings", () => { + const root = grid(); + expect(slotAt(root, "c-44a").querySelector(".circuit-name")!.textContent).toBe("Lights A · Outlets A"); + expect(slotAt(root, "c-44a").querySelector(".breaker-badge")!.textContent).toBe("15·15 A"); + expect(slotAt(root, "c-46a").querySelector(".breaker-badge")!.textContent).toBe("20·20 A"); + expect(slotAt(root, "c-48a").querySelector(".breaker-badge")!.textContent).toBe("15·10 A"); + }); + + it("show one power value, the shared meter's", () => { + const root = grid(); + const values = slotAt(root, "c-44a").querySelectorAll(".power-value"); + expect(values).toHaveLength(1); + expect(values[0]!.textContent!.replace(/\s+/g, "")).toBe("300W"); + }); + + it("show one toggle, labelled as switching the group", () => { + const root = grid(); + const pills = slotAt(root, "c-44a").querySelectorAll(".toggle-pill"); + expect(pills).toHaveLength(1); + expect(pills[0]!.classList.contains("toggle-shared")).toBe(true); + expect(pills[0]!.getAttribute("title")).toBe(t("grid.shared_switch")); + expect(slotAt(root, "c-1").querySelector(".toggle-pill")!.classList.contains("toggle-shared")).toBe(false); + }); + + it("judge utilization against the combined rating", () => { + // 5 A of a 15·10 A pair is 20%, not 50% of the second member's 10 A. + const root = grid(); + expect(slotAt(root, "c-48a").querySelector(".utilization")!.textContent).toBe("20%"); + }); +}); + +describe("the site sum", () => { + it("counts each shared meter once", () => { + const root = document.createElement("div"); + root.innerHTML = buildPanelStatsHTML(topology(), CONFIG) + grid().innerHTML; + // With no site reading the header falls back to the circuits' sum: 1000 + 300 + 500 + 0 W, each pair once. + updateCircuitDOM(root, hassWith(), topology(), CONFIG, new Map(), undefined); + expect(root.querySelector(".stat-consumption .stat-value")!.textContent).toBe("1.8"); + }); +}); From beddfcbf40fd09b4ac84fc692bf9ce0961a8829b Mon Sep 17 00:00:00 2001 From: cayossarian <23534755+cayossarian@users.noreply.github.com> Date: Fri, 9 Oct 2026 13:50:20 -0700 Subject: [PATCH 4/5] test(captures): hold each capture's device tiles to a snapshot --- .../capture-topologies.test.ts.snap | 216 ++++++++++++++++++ tests/capture-topologies.test.ts | 1 + 2 files changed, 217 insertions(+) diff --git a/tests/__snapshots__/capture-topologies.test.ts.snap b/tests/__snapshots__/capture-topologies.test.ts.snap index b583a2f..5df1b4e 100644 --- a/tests/__snapshots__/capture-topologies.test.ts.snap +++ b/tests/__snapshots__/capture-topologies.test.ts.snap @@ -636,6 +636,57 @@ exports[`the card over capture 'main32_r202633' > renders as before > header 1`]
" `; +exports[`the card over capture 'main32_r202633' > renders as before > sub-devices 1`] = ` +"
+
+
+ Battery + Span Panel Battery + 0 W + +
+ +
+ +
+
SoC
+
+
+ +
+
SoE
+
+
+ +
+
Power
+
+
+ +
+ + + +
+ +
+
+ Solar + Span Panel Solar + Site total0 W + +
+
+
Enphase Energy · IQ7PLUS-72-x-ACM-US-y
+ +
+
" +`; + exports[`the card over capture 'main32_r202639' > renders as before > grid 1`] = ` "
1
@@ -1145,6 +1196,61 @@ exports[`the card over capture 'main32_r202639' > renders as before > header 1`]
" `; +exports[`the card over capture 'main32_r202639' > renders as before > sub-devices 1`] = ` +"
+
+
+ Battery + Span Panel Battery + 0 W + +
+ +
+ +
+
SoC
+
+
+ +
+
SoE
+
+
+ +
+
Power
+
+
+ +
+ + + +
+ +
+
+ Solar + Span Panel Solar + 1.6 kW + +
+
+
Enphase Energy · IQ7PLUS-72-x-US-&
+
+ Site total: + 1.6 kW +
+ +
+
" +`; + exports[`the card over capture 'r202639-a' > renders as before > grid 1`] = ` "
@@ -1247,6 +1353,8 @@ exports[`the card over capture 'r202639-a' > renders as before > header 1`] = `
" `; +exports[`the card over capture 'r202639-a' > renders as before > sub-devices 1`] = `null`; + exports[`the card over capture 'r202639-b' > renders as before > grid 1`] = ` "
9
@@ -1737,6 +1845,8 @@ exports[`the card over capture 'r202639-b' > renders as before > header 1`] = `
" `; +exports[`the card over capture 'r202639-b' > renders as before > sub-devices 1`] = `null`; + exports[`the card over capture 'r202639-c' > renders as before > grid 1`] = ` "
9
@@ -2055,6 +2165,43 @@ exports[`the card over capture 'r202639-c' > renders as before > header 1`] = `
" `; +exports[`the card over capture 'r202639-c' > renders as before > sub-devices 1`] = ` +"
+
+
+ Battery + Span Panel Battery + 0 W + +
+ +
+ +
+
SoC
+
+
+ +
+
SoE
+
+
+ +
+
Power
+
+
+ +
+ + + +
+
" +`; + exports[`the card over capture 'r202639-d' > renders as before > grid 1`] = ` "
1
@@ -2346,6 +2493,57 @@ exports[`the card over capture 'r202639-d' > renders as before > header 1`] = `
" `; +exports[`the card over capture 'r202639-d' > renders as before > sub-devices 1`] = ` +"
+
+
+ Battery + Span Panel Battery + 0 W + +
+ +
+ +
+
SoC
+
+
+ +
+
SoE
+
+
+ +
+
Power
+
+
+ +
+ + + +
+ +
+
+ EV Charger + Span Panel EV Charger (FLEX⁺) + 9.7 W + +
+
+ + +
+
" +`; + exports[`the card over capture 'r202639-e' > renders as before > grid 1`] = ` "
1
@@ -3588,3 +3786,21 @@ exports[`the card over capture 'r202639-e' > renders as before > header 1`] = `
" `; + +exports[`the card over capture 'r202639-e' > renders as before > sub-devices 1`] = ` +"
+
+
+ EV Charger + Span Panel EV Charger (SPAN Drive) + 1.3 W + +
+
+ + +
+
" +`; diff --git a/tests/capture-topologies.test.ts b/tests/capture-topologies.test.ts index 291724f..99b89ab 100644 --- a/tests/capture-topologies.test.ts +++ b/tests/capture-topologies.test.ts @@ -164,5 +164,6 @@ describe.each(CAPTURES)("the card over capture $stem", capture => { const root = await render(capture); expect(root.querySelector(".panel-stats")!.outerHTML).toMatchSnapshot("header"); expect(root.querySelector(".panel-grid")!.outerHTML).toMatchSnapshot("grid"); + expect(root.querySelector(".sub-devices")?.outerHTML ?? null).toMatchSnapshot("sub-devices"); }); }); From 9778bf4936105b3971785376af12b804e671ce35 Mon Sep 17 00:00:00 2001 From: cayossarian <23534755+cayossarian@users.noreply.github.com> Date: Fri, 9 Oct 2026 13:52:28 -0700 Subject: [PATCH 5/5] feat(solar): style and sum generation from the topology's flag A circuit reads as generation where the topology flags it, so a circuit that reports a solar role is styled as production and left out of the circuits' sum; a topology without the flag falls back to the device type. A solar tile known only by a circuit's role shows no identity line, and a site-total row is hidden while the total is unknown instead of reading 0. Part of the spanos3/r202639/03 batch 2 work. --- src/core/circuit-state.ts | 14 +++- src/core/dom-updater.ts | 23 +++--- src/core/sub-device-renderer.ts | 9 ++- src/types.ts | 7 ++ tests/generation-flag.test.ts | 123 ++++++++++++++++++++++++++++++++ 5 files changed, 157 insertions(+), 19 deletions(-) create mode 100644 tests/generation-flag.test.ts diff --git a/src/core/circuit-state.ts b/src/core/circuit-state.ts index 96793db..36ad463 100644 --- a/src/core/circuit-state.ts +++ b/src/core/circuit-state.ts @@ -38,9 +38,17 @@ export function circuitCurrentA(c: Pick, hass: HomeAssistan return readNumber(entityId ? hass.states[entityId] : undefined); } -/** Whether a circuit draws as production: a solar circuit, or one measured feeding power back. An unknown reading is not production. */ -export function readsAsProducer(c: Pick, powerW: number | null): boolean { - return c.device_type === DEVICE_TYPE_PV || (powerW !== null && powerW < 0); +/** + * Whether a circuit is a source of generation: as the topology flags it, else, for + * a topology that carries no flag, by its device type. + */ +export function isGeneration(c: Pick): boolean { + return c.is_generation ?? c.device_type === DEVICE_TYPE_PV; +} + +/** Whether a circuit draws as production: a source of generation, or one measured feeding power back. An unknown reading is not production. */ +export function readsAsProducer(c: Pick, powerW: number | null): boolean { + return isGeneration(c) || (powerW !== null && powerW < 0); } /** diff --git a/src/core/dom-updater.ts b/src/core/dom-updater.ts index dcb9d1c..7b391ad 100644 --- a/src/core/dom-updater.ts +++ b/src/core/dom-updater.ts @@ -1,11 +1,4 @@ -import { - BESS_CHART_METRICS, - DEVICE_TYPE_PV, - CIRCUIT_CHART_HEIGHT, - CIRCUIT_COL_SPAN_CHART_HEIGHT, - BESS_CHART_COL_HEIGHT, - EVSE_CHART_HEIGHT, -} from "../constants.js"; +import { BESS_CHART_METRICS, CIRCUIT_CHART_HEIGHT, CIRCUIT_COL_SPAN_CHART_HEIGHT, BESS_CHART_COL_HEIGHT, EVSE_CHART_HEIGHT } from "../constants.js"; import { formatCircuitCurrentHTML, formatCircuitPowerHTML, formatPowerHTML, formatKw, UNKNOWN_READING } from "../helpers/format.js"; import { readNumber, sumReadings, type ReadingSum } from "../helpers/read-number.js"; import { getChartMetric } from "../helpers/chart.js"; @@ -15,7 +8,7 @@ import { updateChart } from "../chart/chart-update.js"; import { attrSelectorValue } from "../helpers/selector.js"; import { measuresOutsidePanel } from "../helpers/layout.js"; import { meterSlots } from "../helpers/shared-meters.js"; -import { circuitCurrentA, circuitPowerW, drawsAsOn, readsAsProducer, shedPriorityKey, switchPresence } from "./circuit-state.js"; +import { circuitCurrentA, circuitPowerW, drawsAsOn, isGeneration, readsAsProducer, shedPriorityKey, switchPresence } from "./circuit-state.js"; import { applySheddingIcon, applyTogglePill } from "./circuit-controls.js"; import type { HomeAssistant, PanelTopology, CardConfig, HistoryMap, ChartMetricDef } from "../types.js"; @@ -152,12 +145,12 @@ export function updateCircuitDOM( const defaultDurationMs = getHistoryDurationMs(config); - // The circuits' consumption: every non-solar circuit with a power sensor, an unknown reading skipped. + // The circuits' consumption: every circuit with a power sensor that is no source of generation, an unknown reading skipped. // A meter outside the panel is no load on it, so it is no term at all; circuits that share a meter are one term. const slots = meterSlots(topology.circuits); const consumption: (number | null)[] = []; for (const { circuit } of slots) { - if (!circuit.entities?.power || circuit.device_type === DEVICE_TYPE_PV || measuresOutsidePanel(circuit)) continue; + if (!circuit.entities?.power || isGeneration(circuit) || measuresOutsidePanel(circuit)) continue; const power = circuitPowerW(circuit, hass); consumption.push(power === null ? null : Math.abs(power)); } @@ -194,7 +187,7 @@ export function updateCircuitDOM( const history = powerHistory.get(uuid) || []; const h = slot.classList.contains("circuit-col-span") ? CIRCUIT_COL_SPAN_CHART_HEIGHT : CIRCUIT_CHART_HEIGHT; const circuitDuration = horizonMap?.has(uuid) ? getHorizonDurationMs(horizonMap.get(uuid)!) : defaultDurationMs; - const useLinear = circuit.device_type === DEVICE_TYPE_PV; + const useLinear = isGeneration(circuit); updateChart(chartContainer, hass, history, circuitDuration, chartMetric, isProducer, h, circuit.breaker_rating_a ?? undefined, useLinear); } } @@ -221,8 +214,12 @@ export function updateSubDeviceDOM( if (powerEl) powerEl.innerHTML = formatPowerHTML(stateWatts(hass, power.headlineEid)); } if (power.siteTotalEid) { + const watts = stateWatts(hass, power.siteTotalEid); const totalEl = section.querySelector(".sub-site-total-value"); - if (totalEl) totalEl.innerHTML = formatPowerHTML(stateWatts(hass, power.siteTotalEid)); + if (totalEl) totalEl.innerHTML = formatPowerHTML(watts); + // An unknown site total is no row, never one reading 0. + const rowEl = totalEl?.closest(".sub-entity"); + if (rowEl) rowEl.hidden = watts === null; } const chartContainers = section.querySelectorAll("[data-chart-key]"); diff --git a/src/core/sub-device-renderer.ts b/src/core/sub-device-renderer.ts index 7209606..24d281e 100644 --- a/src/core/sub-device-renderer.ts +++ b/src/core/sub-device-renderer.ts @@ -149,13 +149,16 @@ function tileLabel(sub: SubDevice): string { */ export function buildSolarDetailHTML(solar: SubDeviceSolar, power: SubDevicePower, hass: HomeAssistant): string { let html = ""; - const identity: string = [solar.vendor, solar.model].filter((part): part is string => !!part).join(" · "); + // eBus connection/feeds-role SOLAR: a source known only by a circuit's role has no vendor or model to show. + const identity: string = solar.identity === "role" ? "" : [solar.vendor, solar.model].filter((part): part is string => !!part).join(" · "); if (identity) html += `
${escapeHtml(identity)}
`; if (power.siteTotalEid) { + // Held hidden while the site total is unknown, so it never reads 0; the live update shows it once it reads. + const watts = stateWatts(hass, power.siteTotalEid); html += ` -
+
${escapeHtml(t("subdevice.site_total"))}: - ${formatPowerHTML(stateWatts(hass, power.siteTotalEid))} + ${formatPowerHTML(watts)}
`; } if (solar.role === "inverter" && !power.headlineEid) html += `
${escapeHtml(t("subdevice.in_site_total"))}
`; diff --git a/src/types.ts b/src/types.ts index a5c8ac2..61c30ec 100644 --- a/src/types.ts +++ b/src/types.ts @@ -53,6 +53,11 @@ export interface Circuit { * power is import-positive, positive while power flows into the panel. */ outside_panel?: boolean; + /** + * Whether the circuit is a source of generation: solar, by its device or by the + * role the panel reports for it. Absent from a topology that predates it. + */ + is_generation?: boolean; /** The group of circuits that share this circuit's meter, by its key; null when it shares none. */ shared_meter_group?: string | null; /** The group of circuits that share this circuit's relay, by its key; null when it shares none. */ @@ -84,6 +89,8 @@ export interface SubDeviceSolar { feed_circuit_id: string | null; power_entity_id: string | null; site_power_entity_id: string | null; + /** `role` where the source is a circuit that reports a solar role, with no inverter published behind it to identify. */ + identity?: "role"; } export interface SubDevice { diff --git a/tests/generation-flag.test.ts b/tests/generation-flag.test.ts new file mode 100644 index 0000000..abff892 --- /dev/null +++ b/tests/generation-flag.test.ts @@ -0,0 +1,123 @@ +import { describe, it, expect } from "vitest"; +import { buildGridHTML } from "../src/core/grid-renderer.js"; +import { buildPanelStatsHTML } from "../src/core/header-renderer.js"; +import { updateCircuitDOM, updateSubDeviceDOM } from "../src/core/dom-updater.js"; +import { buildSolarDetailHTML } from "../src/core/sub-device-renderer.js"; +import { readsAsProducer } from "../src/core/circuit-state.js"; +import { resolveSubDevicePower } from "../src/helpers/sub-device-power.js"; +import { positionRange } from "../src/helpers/layout.js"; +import type { CardConfig, Circuit, HomeAssistant, PanelTopology, SubDevice, SubDeviceSolar } from "../src/types.js"; + +const CONFIG = { chart_metric: "power" } as CardConfig; + +function hassWith(states: Record): HomeAssistant { + const full = Object.fromEntries( + Object.entries(states).map(([entity_id, state]) => [entity_id, { entity_id, state, attributes: {}, last_changed: "", last_updated: "" }]) + ); + return { states: full, services: {}, language: "en" } as unknown as HomeAssistant; +} + +function circuit(slug: string, tab: number, fields: Partial = {}): Circuit { + return { name: slug, tabs: [tab], device_type: "circuit", relay_state: "CLOSED", entities: { power: `sensor.${slug}_power` }, ...fields }; +} + +describe("a circuit reads as generation", () => { + it("when the topology flags it, whatever its device type", () => { + // eBus connection/feeds-role SOLAR: a circuit that reports a solar role, with no inverter behind it. + expect(readsAsProducer(circuit("roof", 1, { is_generation: true }), 400)).toBe(true); + expect(readsAsProducer(circuit("roof", 1, { device_type: "pv", is_generation: false }), 400)).toBe(false); + }); + + it("by its device type where the topology carries no flag", () => { + expect(readsAsProducer(circuit("roof", 1, { device_type: "pv" }), 400)).toBe(true); + expect(readsAsProducer(circuit("kitchen", 1), 400)).toBe(false); + }); + + it("while measured feeding power back, flag or not", () => { + expect(readsAsProducer(circuit("kitchen", 1, { is_generation: false }), -50)).toBe(true); + }); +}); + +describe("a flagged circuit on the grid and in the circuits' sum", () => { + // eBus connection/feeds-role SOLAR + const circuits = { roof: circuit("roof", 1, { is_generation: true }), kitchen: circuit("kitchen", 2, { is_generation: false }) }; + const topology = { circuits, panel_size: 2, panel_entities: { site_power: "sensor.site_power" } } as PanelTopology; + const hass = hassWith({ "sensor.roof_power": "2000", "sensor.kitchen_power": "300" }); + + it("is styled as production", () => { + const root = document.createElement("div"); + root.innerHTML = buildGridHTML(topology, positionRange(topology, 2)!, hass, CONFIG, null); + expect(root.querySelector('[data-uuid="roof"]')!.classList.contains("circuit-producer")).toBe(true); + expect(root.querySelector('[data-uuid="kitchen"]')!.classList.contains("circuit-producer")).toBe(false); + }); + + it("is no load in the site sum", () => { + const root = document.createElement("div"); + root.innerHTML = buildPanelStatsHTML(topology, CONFIG) + buildGridHTML(topology, positionRange(topology, 2)!, hass, CONFIG, null); + updateCircuitDOM(root, hass, topology, CONFIG, new Map(), undefined); + expect(root.querySelector(".stat-consumption .stat-value")!.textContent).toBe("0.3"); + }); +}); + +const SITE_TOTAL = "sensor.pv_power"; +const CIRCUIT_POWER = "sensor.roof_power"; + +function solarBlock(fields: Partial = {}): SubDeviceSolar { + return { + role: "site", + vendor: null, + model: null, + feed_circuit_id: "roof", + power_entity_id: CIRCUIT_POWER, + site_power_entity_id: SITE_TOTAL, + ...fields, + }; +} + +function detail(solar: SubDeviceSolar, states: Record): HTMLElement { + const sub: SubDevice = { name: "Solar", type: "pv", entities: {}, solar }; + const root = document.createElement("div"); + root.innerHTML = `
${buildSolarDetailHTML(solar, resolveSubDevicePower(sub), hassWith(states))}
`; + return root; +} + +function siteTotalRow(root: ParentNode): HTMLElement { + return root.querySelector(".sub-site-total-value")!.closest(".sub-entity")!; +} + +describe("a solar tile", () => { + it("of a circuit that reports a solar role has no identity line", () => { + // eBus connection/feeds-role SOLAR: the source is the circuit's role, so there is no vendor or model to show. + const root = detail(solarBlock({ identity: "role", vendor: "Any", model: "Thing" }), { [SITE_TOTAL]: "2000" }); + expect(root.querySelector(".sub-identity")).toBeNull(); + }); + + it("of a published inverter keeps its identity line", () => { + const root = detail(solarBlock({ vendor: "Vendor", model: "Model" }), { [SITE_TOTAL]: "2000" }); + expect(root.querySelector(".sub-identity")!.textContent).toBe("Vendor · Model"); + }); + + it("shows the site total while it reads", () => { + const root = detail(solarBlock(), { [SITE_TOTAL]: "2000" }); + expect(siteTotalRow(root).hidden).toBe(false); + }); + + it.each(["unknown", "unavailable"])("omits the site total while it is %s, never showing 0", state => { + const root = detail(solarBlock(), { [SITE_TOTAL]: state }); + const row = siteTotalRow(root); + expect(row.hidden).toBe(true); + expect(row.textContent).not.toMatch(/\b0\s*W/); + }); + + it("shows and omits the site total as live updates change it", () => { + const sub: SubDevice = { name: "Solar", type: "pv", entities: {}, solar: solarBlock() }; + const topology = { circuits: {}, sub_devices: { solar: sub } } as unknown as PanelTopology; + const root = detail(solarBlock(), { [SITE_TOTAL]: "unknown" }); + const row = siteTotalRow(root); + + updateSubDeviceDOM(root, hassWith({ [SITE_TOTAL]: "1500" }), topology, CONFIG, new Map(), undefined); + expect(row.hidden).toBe(false); + updateSubDeviceDOM(root, hassWith({ [SITE_TOTAL]: "unknown" }), topology, CONFIG, new Map(), undefined); + expect(row.hidden).toBe(true); + }); +});