]> git.sven.stormbind.net Git - sven/scripts.git/commitdiff
Introduce panelPrint for printing Panel/System Data master
authorSven Höxter <sven@stormbind.net>
Mon, 14 Apr 2025 13:06:39 +0000 (15:06 +0200)
committerSven Höxter <sven@stormbind.net>
Mon, 14 Apr 2025 13:06:39 +0000 (15:06 +0200)
Along the way we make sure that a status query does not alert the state.

home/portalmonitor.py

index 20d327c01ef8222074072ea0dec9bb870c01cf65..ccaa2fbc7506ead42cb6f93c1f63e8cb267ad8a0 100755 (executable)
@@ -100,6 +100,11 @@ def stateCheck(newState, stateFile):
 
     return change
 
+def panelPrint(currentPower):
+    print(f"Total Power: {currentPower[0]}")
+    for panel in currentPower[1]:
+        print(f"{panel['SNALIAS']}: {panel['POWER']} - {panel['SITETIME']}")
+
 
 # read configuration file
 conf = configparser.ConfigParser()
@@ -113,14 +118,16 @@ if isDaylight(conf['config'].getfloat('lat'), conf['config'].getfloat('lon'),
                                    conf['config']['stationId'])
 
     if args.printStatus:
-        print(f"Total Power: {currentPower[0]}")
-        for panel in currentPower[1]:
-            print(f"{panel['SNALIAS']}: {panel['POWER']} - {panel['SITETIME']}")
+        panelPrint(currentPower)
+        sys.exit(0)
 
-    if currentPower == 0:
+    if currentPower[0] == 0:
         if stateCheck('FAILED', conf['config']['stateFile']):
             print('Error: Power dropped to 0 but we should have daylight!')
+            panelPrint(currentPower)
         sys.exit(1)
     else:
         if stateCheck('OK', conf['config']['stateFile']):
-            print(f"Resolved: Inverter reports {currentPower}W")
+            print('Resolved')
+            panelPrint(currentPower)
+        sys.exit(0)
\ No newline at end of file