GridState

This commit is contained in:
dj7nt committed 2026-10-10 16:25:11 +02:00
1 parent 4b22f4f034
commit 34e77991e6
2 files changed
+5 -4

No files matched your search

+2 -1
View File
@@ -469,7 +469,8 @@ class SolarData:
value = value * math.pow(10, scale) value = value * math.pow(10, scale)
if 'bit' in config: if 'bit' in config:
value = bool(value & config['bit']) # integer, not boolean: Grafana's InfluxQL time series drops booleans
value = int(bool(value & config['bit']))
if 'map' in config: if 'map' in config:
value = config['map'][value] if 0 <= value < len(config['map']) else 'Unknown ({0})'.format(value) value = config['map'][value] if 0 <= value < len(config['map']) else 'Unknown ({0})'.format(value)
+3 -3
View File
@@ -138,8 +138,8 @@ class TestSolarData(unittest.TestCase):
self.assertIs(False, inverter._decode_value(decoder, 1, registerDataType.INT16, int)) self.assertIs(False, inverter._decode_value(decoder, 1, registerDataType.INT16, int))
def testOffgrid(self): def testOffgrid(self):
self.assertIs(False, SolarData(probe_data()).data['offgrid']) self.assertEqual(0, SolarData(probe_data()).data['offgrid'])
self.assertIs(True, SolarData(probe_data(event_1_vendor=5)).data['offgrid']) self.assertEqual(1, SolarData(probe_data(event_1_vendor=5)).data['offgrid'])
def testMeter(self): def testMeter(self):
solarData = SolarData(probe_data()) solarData = SolarData(probe_data())
@@ -229,7 +229,7 @@ class TestSolarData(unittest.TestCase):
self.assertTrue(line.startswith('solaredge,model=SE10K-RWB48BFN4,serialnumber=7E1FF4D1 ')) self.assertTrue(line.startswith('solaredge,model=SE10K-RWB48BFN4,serialnumber=7E1FF4D1 '))
self.assertIn(',status=4i', line) self.assertIn(',status=4i', line)
self.assertIn(',offgrid=f', line) self.assertIn(',offgrid=0i', line)
self.assertIn(',power_ac=597.0', line) self.assertIn(',power_ac=597.0', line)
self.assertIn(',meter1_power=939.4', line) self.assertIn(',meter1_power=939.4', line)
self.assertIn(',battery1_soe=100.0', line) self.assertIn(',battery1_soe=100.0', line)